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\).