Pagini recente » Monitorul de evaluare | Diferente pentru utilizator/mateisirghe intre reviziile 60 si 59 | Diferente pentru utilizator/florinhaja intre reviziile 158 si 157 | Monitorul de evaluare | Cod sursa (job #528063)
Cod sursa(job #528063)
#include<fstream>
#define dmax 100010
using namespace std;
int n;
int a[dmax];
void citire()
{
ifstream fin("patrate2.in");
fin>>n;
fin.close();
}
void inmultire(int nr)
{
int i,t=0;
for (i=1; i<=a[0]; i++)
{
a[i] = a[i] * nr + t;
t = a[i] / 10;
a[i] = a[i] % 10;
}
while (t != 0)
{
a[0]++;
a[a[0]] = t % 10;
t = t / 10;
}
}
void solve()
{
int i;
a[0]=1; a[1]=1;
for (i=2; i<=n; i++) /*n factorial*/
inmultire(i);
for (i=1; i<=n*n; i++) /*2 la puterea n*n*/
inmultire(2);
}
void afisare()
{
int i;
ofstream fout("patrate2.out");
for (i=a[0]; i>=1; i--)
fout<<a[i];
fout.close();
}
int main()
{
citire();
solve();
afisare();
return 0;
}