Pagini recente » Cod sursa (job #2803972) | Cod sursa (job #517886) | Cod sursa (job #648862) | Cod sursa (job #3278922) | Cod sursa (job #3237719)
#include <fstream>
using namespace std;
const int MOD = 1999999973;
/*
int lg_put(int a, int n)
{
if (n == 0)
{
return 1;
}
int r = lg_put(a, n / 2);
r = (long long)r * r % MOD;
if (n % 2 != 0)
{
return (long long)r * a % MOD;
}
return r;
}
*/
int lg_put(int a, int n)
{
int p = 1;
while (n != 0)
{
if (n & 1)///ultimul bit al lui n este 1 <=> n este impar (n % 2 != 0)
{
p = (long long)p * a % MOD;
}
n >>= 1;///"taiem" ultimul bit <=> n /= 2
a = (long long)a * a % MOD;
}
return p;
}
int main()
{
ifstream in("lgput.in");
ofstream out("lgput.out");
int a, n;
in >> a >> n;
out << lg_put(a, n) << "\n";
in.close();
out.close();
return 0;
}