Pagini recente » Cod sursa (job #119568) | Cod sursa (job #2789795) | Cod sursa (job #237982) | Cod sursa (job #273237) | Cod sursa (job #227236)
Cod sursa(job #227236)
#include<stdio.h>
int N,J,A[10000000],M;
void inmulteste(int k,int l)
{
int d=0,r=0;
for (int i=1; i<=J; ++i)
{
d=A[i]*k+r;
r=d / 10;
if (l!=0) A[i+l]+=d % 10;
else A[i]=d%10;
}
if (r!=0) {++J; A[J]+=r;}
}
int main()
{
freopen("patrate2.in","r",stdin);
freopen("patrate2.out","w",stdout);
scanf("%d",&N);
M=N*N;
A[1]=1;J=1;
for (int i=1; i<=M; ++i)
{
inmulteste(2,0);
}
for (int i=2; i<=N; ++i)
{
int d=i, l=0, t=i;
while (d / 10> 0)
{
t= t % 10;
if (d!=i) ++l;
inmulteste (t,l);
d=d / 10;
}
if (d!=i) ++l;
inmulteste(t%10, l);
}
for (int i=J; i>=1; --i)
printf("%d", A[i]);
return 0;
}