Pagini recente » Cod sursa (job #233848) | Cod sursa (job #543121) | Cod sursa (job #28513) | Cod sursa (job #2401688) | Cod sursa (job #83958)
Cod sursa(job #83958)
#include <stdio.h>
#include <string.h>
char n[1001];
long nr[2002],i,j,l,k,r;
int main(){
freopen ("sarpe.in","r",stdin);
freopen ("sarpe.out","w",stdout);
scanf ("%s",n);
l=strlen(n);
if (l==1&&n[0]=='1')printf("2\n");
for (i=l-1;i>=0;i--)
for (j=l-1;j>=0;j--)
nr[(l-i)+j]+=2*(n[j]-'0')*(n[i]-'0');
r=0;
for (i=1;i<=2*l-1;i++)
if (nr[i]>=10){
nr[i]+=r;
r=nr[i]/10;
nr[i]%=10;
}
while(r){
i++;
nr[i]=r%10;
r=r/10;
}
k=i;
for (i=l-1;i>=0;i--)
nr[l-i]-=2*(n[i]-'0');
nr[1]+=4;
for (i=1;i<=k;i++)
if (nr[i]<0){nr[i]+=10;nr[i+1]--;}
while (!nr[k])k--;
for (i=k;i>=1;i--)
printf("%ld",nr[i]);
printf("\n");
return 0;
}