285
Cerința
Scrieți un program care citește un număr natural n
și care să calculeze suma S
a tuturor numerelor obținute prin permutări circulare la dreapta ale cifrelor lui n
cu o poziție.
Date de intrare
Programul citește de la tastatură numărul n
.
Date de ieșire
Programul va afișa pe ecran numărul S
, cu semnificația din enunț.
Restricții și precizări
1 ≤ n ≤ 2.000.000.000
Exemplu
Intrare
123
Ieșire
666
Explicație
S-au citit n=123
. Suma calculată este S=666
(=312+231+123
).
#include <bits/stdc++.h> using namespace std; int main() { int n; cin >> n; int s = 0; int cnt = 0; while(n) { s+=n%10; n/=10; cnt++; } long long int nr = 0; int tr = 0; int a[20]; for(int i = cnt; i > 0; --i) a[i] = (s + tr) % 10, tr = (s+tr) / 10; if(tr != 0) cout << tr; for(int i = 1; i <= cnt; ++i) cout << a[i]; return 0; }
Comentarii