Python: Cyklus While – NSD, Palindrom

14 jan

Palindrom

Palindrom je reťazec, alebo číslo, ktoré je pri čítaní od začiatku aj od konca rovnaké.

Daný algoritmus otočí číslo a zistí, či sa aj po otočení rovná pôvodnému.

a=int(input(‘zadaj cislo’))
pred=a # odložíme si pôvodné číslo
po=0 # počiatočná hodnota pre otočené číslo

while a != 0: # pokiaľ je číslo a iné ako 0

po=po*10+(a % 10) #otočené – po, násobíme 10 a pripočítame k nemu poslednú cifru čísla a
a=a//10 # poslednú cifru čísla odstránime z a

if pred == po : # ak sa číslo a rovná číslu po tak je to palindrom

print(‘cislo je palindrom’)

else:

print(‘cislo nieje palindrom’)

 

NSD – najväčší spoločný deliteľ dvoch čísel

Ak sa čísla nerovnajú, zistíme ktoré z nich je väčšie a od toho väčšieho odpočítame menšie. Opakujeme pokiaľ sa čísla nebudú rovnať

a=int(input(‘zadaj cislo 1’))
b=int(input(‘zadaj cislo 2’))

while a != b: #pokiaľ sa čísla a,b nerovnajú opakujeme

if a > b : # zisťujeme, ktoré z čísel je väčšie a od väčšieho odpočítame menšie

a = a – b

else:

b = b – a

print(‘najvacsi spolocny delitel je ‘,a)