Buna seara!!As avea si eu o problema de rezolvat si una la care as vrea sa stiu daca am facut bine!!
1.Se da secventa urmatoare de pseudocod:
citeste n ( nr natural nenul ) d=2 cat timp d*d<=n executa { cat timp n%(d*d)=0 executa { n=[n/d] } d=d+1 } scrie n
Scrieti o secventă pseudocod echivalentă cu cea dată, utilizând o singură instructiune repetitivă.
Si daca se poate as mai vrea sa stiu daca am rezolvat corect urmatoarea problema:
Organizatorii unei olimpiade trebuie să atribuie fiecărui sportiv un număr de concurs, astfel încât la olimpiadă să nu existe doi sportivi cu acelaşi număr. Pentru acest lucru se ia decizia ca fiecare ţară să primească un cod constând dintr-un număr X de maximum 4 cifre, astfel încât să nu existe două ţari cu acelaşi cod. Apoi fiecare ţară adaugă la sfârşitul codului dat, codul individual al fiecărui sportiv al său. Toti cei N sportivi ai unei tări au coduri individuale diferite. Pentru uşurinţa codificării se folosesc numerele consecutive 1, 2, ..., N. Astfel dacă o ţară primeşte codul X=123 şi are N=14 sportivi în delegaţie, atunci numerele atribuite acestora la olimpiadă vor fi: 1231, 1232, 1233, 1234, 1235, 1236, 1237, 1238, 1239, 12310, 12311, 12312, 12313, 12314. Scrieţi algoritmul în pseudocod care citeşte numerele naturale X şi N asociate unei ţări (0 < X, N < 10000) şi afişează: a. suma numerelor pare atribuite la olimpiadă sportivilor; b. numărul de sportivi, care la olimpiadă au numerele atribuite prime; Exemplu: Pentru X = 1 şi N = 5 algoritmul va afişa: a. 26 (numerele atribuite sportivilor sunt 11, 12, 13, 14, 15, iar cele pare sunt 12 şi 14) b. 2 (numerele prime atribuite sportivilor sunt 11 şi 13)"
Rezolvare:
citeste x,n S=0 nr=0 pentru i=1,n executa { a=i p=1 cat timp a!=0 executa { a=a/10 p=p*10 } x=x*p+i daca i%2=0 atunci S=S+x t=1 j=2 cat timp j<=[sqrt(x)]si t=1 executa { daca x%j=0 atunci t=0 j=j+1 } daca t=1 atunci nr=nr+1 } scrie S scrie nr
1.citeste n ( nr natural nenul )
d=2
cat timp n%(d*d)=0 executa
{
daca d*d>=n atunci break
n=[n/d]
daca n%(d*d)!=0 atunci d=d+1
}
scrie n
2. ai facut problema corect
dupa 3 luni de informatica de ce inca continuati cu pseudocod?
am trecut demult la c++ dar ne-a intrebat cine vrea sa participe la un fel de olimpiada pe internet si acolo ne-a dat probleme din pseudocod.
Multumesc mult!