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

Poate cineva sa-mi dea un algoritm EFICIENT din punct de vedere al timpului de executie (eventual program C++) pentru a calcula suma cifrelor tuturo numerelor de la 1 la n (unde n<=2.000.000.000). Am nevoie de el pentru rezolvarea unei probleme si algoritmul clasic (brut) consuma foarte mult timp.
Multumesc mult pentru ajutor!


blindseeker90: cred ca am gasit o metoda de a calcula mai eficient suma cifrelor. In mod evident, nu mai am cum sa raspund. Mai posteaza maine intrebarea si scrie in mod mai explicit ca vrei suma CIFRELOR nu a numerelor, ca sa am si eu timp sa raspund.
ionutg38: Vreau suma cifrelor, dar unii sunt grabiti si raspund aiurea. Iti multumesc, esti singurul care ai inteles corect ce-am cerut.

Răspunsuri la întrebare

Răspuns de dreewyng
3
Un algoritm ar fi Suma Gauss care consta in
1+2+3+...+n=
(n x n+1):2
Iar dupa aceea calculezi suma cifrelor numarului respectiv

dreewyng: De ce ?
blindseeker90: Tu nu asculti ceea ce isi doreste el. El nu vrea suma cifrelor pentru suma numerelor de la 1 la n. El vrea suma tuturor cifrelor de la 1 la n
ionutg38: Pai vad ca nu pricepi deloc cerinta problemei. Esti total pe dinafara
ionutg38: Oricum, s-a rezolvat intre timp, nu mai e nevoie
ionutg38: Probabil ca ai raspuns asa, la deruta ca sa iei puncte. Mai vrei puncte?
blindseeker90: Nu, probabil chiar vrea sa ajute dar nu a fost atent, ca si ceilalti
ionutg38: Asa cred si eu, dar incerc sa-l fac sa fie mai atent
blindseeker90: Oricum, notele nu inseamna nimic. Eu am avut media 7 la informatica in timpul liceului, si nu eram prost, dar erau cerintele foarte grele.
ionutg38: Si eu cred ca e mai important cu ce ramanem, nu notele
ionutg38: Eu mai am vreo 30 de probleme cu care ma confrunt, dar m-am hotarat sa nu mai postez aici decat cand imi dau prea mari dureri de cap ...
Alte întrebări interesante