340
Cerința
Se dau n cifre zecimale: a1, a2, … , an. Determinaţi suma: S=¯a1a2…an+¯ana1…an−1+⋯+¯a2a3…ana1, în care fiecare termen este obţinut prin permutarea circulară spre dreapta a cifrelor termenului precedent cu o poziţie.
Date de intrare
Fișierul de intrare sumperm.in conține pe prima linie numărul n, iar pe a doua linie cele n cifre separate prin spații.
Date de ieșire
Fișierul de ieșire sumperm.out va conține pe prima linie numărul S, reprezentând suma calculată.
Restricții și precizări
2 ≤ n ≤ 9
Exemplu
sumperm.in
3 2 5 4
sumperm.out
1221
Explicație
S=254 + 425 + 542 =1221.
#include <bits/stdc++.h>
using namespace std;
ifstream cin("sumperm.in");
ofstream cout("sumperm.out");
int main()
{
long long n , a[1001] , s = 0;
cin >> n;
for(int i = 1 ; i <= n ; i++)
cin >> a[i];
for(int j = 1 ; j <= n ; j++)
{
int aux = a[1] , nr = 0;
for(int i = 1 ; i < n ; i++)
a[i] = a[i+1];
a[n] = aux;
for(int i = 1 ;i <= n ; i++)
nr = nr*10+a[i];
s+=nr;
}
cout <<s;
return 0;
}
Comentarii