Informatică, întrebare adresată de 123456789056, 9 ani în urmă

Foarte urgent !!! Va rog!!
Se considera următorul algoritm descris in pseudocod. S-a notat cu a%b restul împărțirii numărului a la nr nat nenul b .
Citește a,b (nr nat , a>=2 ; b>=2)
Dacă a>b atunci
{ x primește a
a primește b
b primește x. }
S =0
Pentru x ii se atribuie a, b executa
{ c primește 2
Cât timp x%c>0 executa
C primește c+1
S primește s+c
Scrieți S
a) scrieți valoarea afișata dacă se citește in aceasta ordine 7 , 4
b) scrieți patru seturi de date de intrare , nr nat din intervalul [2,9] , care pot fi citate astfel încât in urma execuției algoritmul,pentru fiecare dintre acestea,sa se afișeze valoarea 7
c) scrieți in pseudocod un algoritm echivalent cu cel dat înlocuind adecvat structura cat timp ... executa cu o structura repetitivă cu test final

Răspunsuri la întrebare

Răspuns de blindseeker90
4
Programul respectiv calculeaza suma divizorilor cei mai mici ai fiecarui numar din intervalul [a,b] care sunt diferiti de 1.
In cazul in care a>b, atunci in prima structura decizionala le interschimba valorile din cele 2 variabile.
Apoi, de la a la b, incepand de la posibilul divizor 2, se mareste valoarea lui c cat timp restul impartirii lui x la c este mai mare ca 0, adica nu s-a gasit un divizor. O data gasit primul divizor(cel mai mic al lui x diferit de 1), atunci se aduna la suma.

a) Numerele din intervalul [4,7] sunt 4,5,6,7.
Divizorii cei mai mici ai celor 4 numere sunt: 2,5,3,7
Suma lor este: 2+5+3+7=17
b) Ca suma sa dea 7, putem avea urmatoarele sume de termeni:
2+5
2+3+2
Din intervalul [2,9] putem avea urmatoarele perechi de valori
2,4 avem 2,3,4 care au divizorii 2,3,2
4,5 avem divizori 2,5
5,6 avem divizori 5,2
mai putem folosi faptul ca se inverseaza valorile si putem scrie si 4,2 sau 5,4
c)
c=1;
executa
c=c+1;
cat timp x%c>0;


123456789056: Dar la a) nu ar trebui sa parcurgem algoritmul ?
blindseeker90: am scris pe scurt ce face algoritmul. Stiu ca unii profesori cer asta. Dar cerinta e precisa: vrea doar solutia, nu si o trecere prin algoritm pas cu pas. Mai mult decat atat nu e nevoie sa fac.
123456789056: Dacă va rog frumos ați putea sa o faceți ?
Alte întrebări interesante