Pagini recente » Cod sursa (job #1685866) | Cod sursa (job #3130867) | Cod sursa (job #2179852) | Monitorul de evaluare | Cod sursa (job #83956)
Cod sursa(job #83956)
#include <stdio.h>
#include <string.h>
char n[1001],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);
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]);
return 0;
}