Pagini recente » Cod sursa (job #2718236) | Cod sursa (job #1411183) | Cod sursa (job #1300475) | Cod sursa (job #378015) | Cod sursa (job #67983)
Cod sursa(job #67983)
#include<stdio.h>
#include<string.h>
int n,a[1001],b[1001],d[1001],r[2001];
char c[1002];
int main()
{freopen("sarpe.in","r",stdin);
freopen("sarpe.out","w",stdout);
scanf(" %s ",c);
for(int i=strlen(c)-1, j=1000;i>=0;i--,j--)
a[j]=c[i]-'0';
memcpy(b,a,sizeof(a));
memcpy(d,a,sizeof(a));
b[1000]--;
int i=1000;
while(b[i]==-1)
{b[i]=9;
i--;
b[i]--;}
d[1000]-=2;
i=1000;
while(d[i]<0)
{d[i]=10-d[i];
i--;
d[i]--;}
for(i=1000;i>=0;i--)
for(int j=1000;j>=0;j--)
{r[2000+i-1000+j-1000]=b[i]*d[j];
r[2000+i-1000+j-1000-1]+=r[2000+i-1000+j-1000]/10;
r[2000+i-1000+j-1000]%=10;}
for(i=2000;i>=0;i--)
{r[i]*=2;}
for(i=2000;i>0;i--)
{r[i-1]+=r[i]/10;
r[i]%=10;}
for(i=1000;i>=0;i--)
{a[i]*=4;}
for(i=1000;i>0;i--)
{a[i-1]+=a[i]/10;
a[i]%=10;}
for(i=1000;i>=0;i--)
{r[1000+i]+=a[i];
r[1000+i-1]+=r[1000+i]/10;
r[1000+i]%=10;}
i=1000;
while(r[i]/10)
{r[i-1]+=r[i]/10;
r[i]%=10;
i--;}
for(i=0;i<=2000;i++)
if(r[i]) break;
for(;i<=2000;i++)
printf("%d",r[i]);
fclose(stdout);
return 0;}