Pagini recente » Cod sursa (job #888402) | Cod sursa (job #2513658) | Cod sursa (job #2640036) | fmi-no-stress-8/clasament | Cod sursa (job #2664485)
#include "bits/stdc++.h"
using namespace std;
string adunare( string s1, string s2)
{
while(s1.size() < s2.size()) {
s1="0" + s1;
}
while(s2.size() < s1.size()) {
s2="0" + s2;
}
int m = 0, r;
string s;
for ( int i = s1.size() - 1; i > 0 ; i--) {
int c1 = s1[i] - '0';
int c2 = s2[i] - '0';
r = (c1 + c2 + m) % 10;
m = (c1 + c2 + m) / 10;
s = to_string(r) + s;
}
int c1 = s1[0] - '0';
int c2 = s2[0] - '0';
r = c1 + c2 + m;
s = to_string(r) + s;
return s;
}
string inc(string s, int c)
{
int m=0;
string r;
for( int i=s.size()-1; i>=0; i-- ) {
int c1= s[i]-'0';
m=c*c1 + m;
r= to_string(m%10) + r;
m/=10;
}
if (m>0) {
r= to_string(m) + r;
}
return r;
}
string putere(int a)
{
string s,s1,s2;
s=to_string(a);
for (int i=1;i<a;i++){
s1=inc(s,a);
s=s1;
}
return s;
}
int main()
{
//ifstream cin("cifra.in");
//ofstream cout("cifra.out");
int n,t;
cin>>n;
t=n;
vector<int> v(n);
for (int i = 0; i < n; i++) {
cin>>v[i];
}
string s,s1,s3,s4;
for (int i=0;i<n;i++){
s="0";
for (int j=1;j<=v[i];j++){
s1=putere(j);
s3=adunare(s,s1);
s=s3;
s4+=s3;
}
reverse(s4.begin(),s4.end());
cout<<s4[0];
}
return 0;
}