Pagini recente » Cod sursa (job #874053) | Cod sursa (job #3263275) | Cod sursa (job #1239088) | Cod sursa (job #139717) | Cod sursa (job #2734928)
#include <fstream>
#include <cstring>
using namespace std;
ifstream f("sarpe.in");
ofstream g("sarpe.out");
const int nmax=500;
int n,v[nmax*2];
char s[nmax];
int main()
{
f.getline(s+1,nmax);
n=strlen(s+1);
if(n==1 && s[1]=='1')
{
g<<"2"<<'\n';
return 0;
}
for(int i=1,j=n;i<j;i++,j--)
{
swap(s[i],s[j]);
}
for(int i=1;i<=n;i++)
{
for(int j=1;j<=n;j++)
{
v[i+j-1]+=2*(s[i]-'0')*(s[j]-'0');
}
}
for(int i=1;i<=n;i++)
{
v[i]-=2*(s[i]-'0');
}
v[1]+=4;
for(int i=1;i<=2*n;i++)
{
while(v[i]<0)
{
v[i]+=10;
v[i+1]--;
}
if(v[i]>9)
{
v[i+1]+=v[i]/10;
v[i]%=10;
}
}
int i=2100;
for(i=2100;v[i]==0;i--);
for(int j=i;j>=1;j--)
{
g<<v[j];
}
return 0;
}