Pagini recente » Cod sursa (job #567241) | Cod sursa (job #2782313) | Cod sursa (job #138801) | Cod sursa (job #100771) | Cod sursa (job #2897435)
#include <fstream>
#include <vector>
#include <algorithm>
using namespace std;
ifstream cin("patrate2.in");
ofstream cout("patrate2.out");
vector <int> ans;
void inmultire(int x)
{
vector <int> aux;
aux.resize(100005);
int i, trans = 0;
for(i = ans[0]; i >= 1; i--){
int k = trans + ans[i] * x;
aux[++aux[0]] = (trans + ans[i] * x) % 10;
trans = (trans + ans[i] * x) / 10;
}
while(trans){
aux[++aux[0]] = trans % 10;
trans /= 10;
}
ans[0] = 0;
for(i = aux[0]; i >= 1; i--)
ans[++ans[0]] = aux[i];
}
int main()
{
int n, i, j;
cin >> n;
ans.resize(100005);
ans[0] = ans[1] = 1;
for(i = 2; i <= n; i++)
inmultire(i);
for(i = 1; i <= (n * n) / 10; i++)
inmultire(1024);
if((n * n) % 5 == 1)
inmultire(2);
else if((n * n) % 5 == 2)
inmultire(4);
else if((n * n) % 5 == 3)
inmultire(8);
else if((n * n) % 5 == 4)
inmultire(16);
else if((n * n) % 5 == 5)
inmultire(32);
else if((n * n) % 5 == 6)
inmultire(64);
else if((n * n) % 5 == 7)
inmultire(128);
else if((n * n) % 5 == 8)
inmultire(256);
else if((n * n) % 5 == 9)
inmultire(512);
for(i = 1; i <= ans[0]; i++)
cout << ans[i];
return 0;
}