SOS-informatica
ex:Având în vedere un număr natural n, se adună cifrele acestuia!
Cum trebuie sa fac programul???
Răspunsuri la întrebare
Am atașat codul sursă în poză.
Introducere
Însă pentru a putea înțelege bine cum funcționează acest program trebuie să înțelegem cum funcționează % (MOD) și / (DIV).
a % b => ne ajută să calculăm restul împărțirii lui a la b
a / b => ne ajută să calculăm câtul împărțirii lui a la b
De exemplu, dacă facem
123 / 10 = 12 (răspunsul întreg ar fi 12,3, dar fiind număr întreg dispare ce e după virgulă)
123 % 10 = 3 (123 împărțit la 10 dă câtul 12 și restul 3)
Deci observăm că dacă facem DIV 10 la un număr, obținem numărul fără ultima cifră:
1234 / 10 = 123
871 / 10 = 87
Iar dacă facem MOD 10, obținem ultima cifră:
1234 % 10 = 4
12839 % 10 = 9
Plan de lucru
Acum, folosind aceste instrucțiuni de mai sus, încercăm să obținem suma cifrelor după următorul parcurs: extragem cumva ultima cifră într-o variabilă, o adunăm într-o altă variabilă de sumă, apoi o eliminăm din n, și repetăm procedura până nu mai rămân cifre în n.
Rezolvare
1. Declarăm un s = 0 în care vom stoca suma, și un c în care vom stoca cifrele pe rând
2. Citim n
3. Începem un while pentru a parcurge cifrele (și ne oprim când nu mai sunt cifre, adică rulăm cât încă n > 0 sau n != 0)
3.1. Calculăm ultima cifră din n (n % 10) și o punem în c (c = n % 10)
3.2. Adunăm această cifră în s-ul nostru (s = s + c)
3.3. Eliminăm ultima cifră din n (n = n / 10)
3.4. Se repetă
4. Când e gata, afișăm s-ul