Problemi 015

Kërkesa

Gjeni nëse një numër i dhënë është i thjeshtë ose jo (pra nuk ka plotpjesëtues të tjerë përveç 1-shit dhe vetes).

Referenca: https://www.codechef.com/problems/PRB01

Shembull

$ cat input.txt
5
23
13
20
1000
99991

$ python3 prog.py < input.txt
yes
yes
no
no
yes

Zgjidhja 1

Sqarime

Kontrollojmë me radhë numrat nga 2N-1, dhe nëse gjendet ndonjë që e plotpjesëton (mbetja e pjesëtimit është 0), printojmë “no” dhe ndërpresim ciklin (me break). Nëse kemi shkuar deri në fund të kontrollit pa e ndërprerë ciklin, i bie që është numër i thjeshtë, kështu që printojmë “yes”.

Zgjidhja 2

Sqarime

E njëjta llogjikë si më sipër, por e realizuar me një cikël for (në vend të while). Vini re që else-i i for-it zbatohet vetëm kur cikli shkon deri në fund (pa u ndërprerë nga break).

Zgjidhja 3

Sqarime

Mjafton që të kontrollojmë numrat nga 2 deri te rrënja katrore e N.

Zgjidhja 4

Sqarime

Përdorimi i një funksioni në këtë rast e thjeshton llogjikën e programit.

Detyra

Bëni një program që gjen rrënjën katrore natyrore (të përafërt) të një numri natyror të dhënë.

Referenca: https://www.codechef.com/problems/FSQRT

Shembull

$ cat input.txt
3
10
5
10000

$ python3 prog.py < input.txt
3
2
100