CURS ONLINE INTERACTIV

Python 3

PENTRU ÎNCEPĂTORI


"Primul volum Python în română care pur și simplu m-a uimit. Foarte bine explicat și ușor de înțeles." (Alexandru Cosmin)

"Cea mai bună carte de Python din RO." (Iulian Geană)

"Livrare promptă! M-am pus pe treabă!" (Emil Ilie)

TOATE RECENZIILE
PROBLEME REZOLVATE
PAG. 2 / 4
Instrucțiunea while
Acasă >>> Lecții online, limbajul Python 3
CERINȚĂ

Se citeşte un număr natural n. Se cere să se decidă dacă este prim sau nu.

REZOLVARE

Această problemă a fost [rezolvată] cu ajutorul instrucţiunii for. Algoritmul folosit avea un neajuns. În cazul în care se găseşte un divizor, se caută mai departe, fără nici un rost, alţi divizori.

Cum eliminăm neajunsul amintit? Prin utilizarea instrucţiunii while, care e indispensabilă în astfel de situaţii (în care nu cunoaştem de câte ori se repetă secvenţa):

• se generează primul posibil divizor (2);
• pentru a executa instrucţiunea compusă subordonată lui while, acesta trebuie să îndeplinească simultan două condiţii:
     - să fie mai mic decât jumătatea numărului;
     - să nu dividă numărul.

De ce toate acestea? Pentru că instrucţiunea subordonată lui while generează următorul divizor. Cu alte cuvinte, ca să generăm următorul posibil divizor trebuie ca să existe un număr, mai mare decât cel analizat, care are şansa să fie divizor şi numărul analizat să nu fie divizor.

Mai jos aveți programul:
Editor - while_ex2.py
       
Rezultatul în consolă done
INTERESANT

Este demn de remarcat "trucul" folosit. Testul dacă un număr este sau nu divizor nu se face în instrucţiunea subordonată while, ci chiar în expresia logică a sa...

În aceste condiţii, cum decidem dacă numărul este sau nu prim? Simplu. Dacă s-au testat toate numerele posibile înseamnă că numărul este prim. Altfel, înseamnă că a fost găsit un divizor, caz în care bineînțeles că numărul nu este prim.
Analizează problema rezolvată,
apoi avansează la pagina următoare.
Cărțile editurii noastre
O parte dintre manualele și culegerile de probleme se găsește și [în format electronic] securizat sub formă de fișier *.pdf.

"O cameră fără cărţi este ca un corp fără suflet." (G. K. Chesterton)

Cursanții au mai cumpărat ...
[vezi lista completă a cărților]
 home   list  LECȚII   perm_identity   arrow_upward