Cod sursa(job #257555)

Utilizator ConsstantinTabacu Raul Consstantin Data 13 februarie 2009 16:16:16
Problema Patrate2 Scor 20
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.54 kb
#include<stdio.h>
int i,j,n,v[10000];
unsigned long long int p,a=2,k;
void multi(unsigned long long int x){
k=0;
for(j=1;j<=v[0]||k;j++,k/=10)
        v[j]=(k+=v[j]*x)%10;
v[0]=j-1;
}
int main(){
FILE *f=fopen("patrate2.in","r");
fscanf(f,"%d",&n);
fclose(f);
v[0]=v[1]=1;
FILE *g=fopen("patrate2.out","w");
if(n==1)
        {fprintf(g,"%d",1);return 0;
        fclose(g);}
p=n*n;
while(p){
if(p%2)multi(a);
a*=a;
p/=2;
}
for(i=1;i<=n;i++)
        multi(i);

for(i=v[0];i>=1;i--)
        fprintf(g,"%d",v[i]);
fclose(g);

}