356
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