Pagini recente » Cod sursa (job #877057) | Cod sursa (job #1735209) | Cod sursa (job #1211997) | Cod sursa (job #1608904) | Cod sursa (job #910535)
Cod sursa(job #910535)
#include<iostream>
#include<fstream>
#include <cstdio>
using namespace std;
ifstream fin("patrate2.in");
FILE *g=fopen("patrate2.out","w");
int N;
struct nr_mare
{
int cif[10000],nc;
nr_mare operator=(int b)
{
nc=0;
while(b)
{
cif[nc++]=b%10;
b/=10;
}
return *this;
}
friend nr_mare operator*(nr_mare a,int b);
friend ostream& operator<<(ostream &out,nr_mare &n);
};
ostream& operator<<(ostream &out,nr_mare &n)
{
int i=n.cif[0];
while(i)
out<<n.cif[i--];
return out;
}
nr_mare operator*(nr_mare a,int b)
{
int carry=0;
for(int i=1;i<=a.cif[0];i++)
{
int y=a.cif[i]*b+carry;
a.cif[i]=y%10;
carry=y/10;
}
while(carry>0)
{
++a.cif[0];
a.cif[a.cif[0]]=carry%10;
carry=carry/10;
}
return a;
}
nr_mare a;
int main()
{
fin>>N;
a=11;
int c=(N*N)/15,b=(N*N)%15,i;
for(i=1;i<=c;i++)
a=a*(32768);
a=a*(1<<b);
for(i=1;i<=N;i++)
a=a*i;
for(i=a.cif[0];i>0;i--)
fprintf(g,"%d",a.cif[i]);
return 0;
}