Problemi 019
Kërkesa
Bëni një program që e shkruan mbrapsht një numër të dhënë natyror.
Referenca: https://www.codechef.com/problems/FLOW007
Shembull
$ cat input.txt
4
12345
31203
2123
2300
$ python3 prog.py < input.txt
54321
30213
3212
32
Zgjidhja 1
T = int(input())
for t in range(T):
n = int(input())
l = []
while n > 0:
l.append(n % 10)
n //= 10
n1 = 0
for d in l:
n1 *= 10
n1 += d
print(n1)Sqarime
Fillimisht nxjerrim të gjitha shifrat e numrit, duke marrë mbetjen e pjesëtimit me 10, dhe duke e vazhduar këtë punë me herësin e pjesëtimit me 10. Këto shifra i ruajmë në një listë.
Pastaj ndërtojmë numrin e ri duke shumëzuar me 10 dhe duke shtuar shifrat, por sipas radhës së kundërt.
Zgjidhja 2
Zgjidhja 3
Sqarime
Funksioni list(input()) krijon një listë me shkronjat e vargut të lexuar.
Funksioni join(l) që thirret te vargu '', i bashkon (prapangjit)
këtij vargu të gjitha vargjet që ndodhen në listën l.
Para se ta printojmë duhet ta kthejmë në int, në mënyrë që të
eliminojmë ndonjë zero fillestare që mund të ketë.
Detyra
Në një lojë të rregullt tenisi, lojtari që shërben ndërrohet çdo 2 pikë, pavarësisht se kush i shënon. Chef dhe Cook po e luajnë lojën pak më ndryshe. Ata vendosën që lojtari i shërbimit të ndërrohet çdo \(k\) pikë, pavarësisht se kush i shënon.
Në fillim të lojës, radhën e shërbimit e ka gjithmonë Chef-i. Nqs dimë që deri tani Chef ka shënuar \(p_1\) pikë dhe Cook ka shënuar \(p_2\) pikë, kush e ka tani radhën e shërbimit?
Referenca: https://www.codechef.com/problems/CHSERVE
Shembull
$ cat input.txt
3
1 3 2
0 3 2
34 55 2
$ python3 prog.py < input.txt
CHEF
COOK
CHEF
Tre numrat që jepen janë \(p_1\), \(p_2\) dhe \(k\).