Pagini recente » Clasament oni2015.1112.bv.3 | Cod sursa (job #2654179) | Cod sursa (job #1568523) | Cod sursa (job #2908154) | Cod sursa (job #2664016)
#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;
cout <<t<<endl;
for (int i=1;i<=t;i++){
cout<<i<<endl;
}
string s,s1,s3,s4;
s="0";
for (int i=1;i<=n;i++){
s1=putere(i);
s3=adunare(s,s1);
s=s3;
s4+=s3;
reverse(s4.begin(),s4.end());
cout<<s4[0]<<endl;
}
return 0;
}