Se consideră algoritmul de mai jos, reprezentat în pseudocod.
citeşte m,n,x (numere natural nenule, m<n) p ← 0 ┌cât timp m<n şi p=0 execută │┌dacă m%x=0 şi n%x=0 atunci ││ p x ││altfel ││┌dacă m%x=0 atunci │││ n n-1 │││altfel │││ m m+1 ││└■ │└■ └■ scrie m,’ ’,n
S-a notat cu a%b
restul împărţirii numărului natural a
la numărul natural nenul b
.
Scrieţi valorile afişate în urma executării algoritmului dacă se citesc, în această ordine, numerele 11
, 30
și 7
.
Se consideră secvenţa de mai jos, în care toate variabilele sunt de tip întreg.
i=2; while(.....) { if(x%i==0) cout<<i<<’ ’; i=i+1; }
Pentru a afişa în ordine crescătoare toţi divizorii pozitivi ai numărului natural nenul memorat în variabila x
, cu excepţia lui 1
şi a numărului respectiv, o expresie care poate înlocui punctele de suspensie este:
Varianta 1 |
|
Varianta 2 |
|
Varianta 3 |
|
Varianta 4 |
|
Variabilele x
, y
și d
sunt de tip întreg și memorează câte un număr natural strict pozitiv. Indicați o expresie care poate înlocui punctele de suspensie astfel încât, în urma executării secvenței obținute, variabila d
să memoreze cel mai mare divizor comun al valorilor memorate în variabilele x
și y
.
d=x; if(d>y) d=y; while(........) d=d-1;
Varianta 1 |
|
Varianta 2 |
|
Varianta 3 |
|
Varianta 4 |
|
În secvența de mai jos toate variabilele sunt întregi, iar variabila n
memorează un număr natural nenul.
s=0; i=1; while(i*i<n) { if(n%i==0)s=s+.....; i=i+1; } if(i*i==n) s=s+i;
Indicați o expresie care poate înlocui punctele de suspensie astfel încât, în urma executării secvenței obținute, variabila s
să memoreze suma tuturor divizorilor naturali ai numărului memorat în variabila n
.
Varianta 1 |
|
Varianta 2 |
|
Varianta 3 |
|
Varianta 4 |
|