Informatică, întrebare adresată de nobody0001, 8 ani în urmă

Sa se afișeze toate numerele mai mici decât 100000 egale cu suma factorilor cifrelor componente


Va rog urgent!!!


Seckar: Nu ai dat toata intrebarea. Factorii ii iei o data sau de mai multe ori? spre exemplu 9 este 3^2, deci... iei 3 o data sau de doua ori?
Seckar: De asemenea care factori? Factorii primi? Toti factorii? Factorii proprii? Sau factorii improprii?
Seckar: Nu ai dat destule detalii
nobody0001: Autocorectoul a corectat un cuvânt. Îl loc de factorilor era "factorialelor"
Seckar: Deci suma FACTORIALULUI din fiecare cifra. Ok.

Răspunsuri la întrebare

Răspuns de Seckar
1
Cea mai simpla varianta este sa parcurgu cu un for intervalul de la 1 la 100 000 si apoi

1. sa iei fiecare numar,

2. sa ii faci o copie,

3. sa iei copia intr-un while copie > 0 ca sa ii procesezi individual cifrele. 

4. Pentru fiecare cifra, folosind un for de la 1 la cifra aia inclusiv, si inca o variabila initializata cu 1 inainte sa intri in for, faci factorialul cifrei. 

5. In while de la 3 adaugi mereu factorialul fiecarei cifre la o suma pe care la inceputul lui while o faci mereu 0.

6. Cand iesi din while mereu compari cu un if daca suma aia este egala cu numarul tau, si faci ce vrei tu in caz ca e egala.

Iti si o implementare mai avansata in caz ca te atrage mai mult sa inveti chestii noi decat sa scrii 1000 linii de cod. Tot ce am folosit acolo se poate gasi cu o simpla cautare google sau imi poti da mesaj si iti voi spune ce sa citesti:
Anexe:
Alte întrebări interesante