Pagini recente » Cod sursa (job #829359) | Cod sursa (job #749661) | Cod sursa (job #3219215) | Cod sursa (job #458432) | Cod sursa (job #683107)
Cod sursa(job #683107)
#include <fstream>
using namespace std;
#define m 1999999973
int n, p, r;
int p2[32], pmax;
inline void citire()
{
ifstream fin("lgput.in");
fin >> n >> p;
fin.close();
}
inline void scriere()
{
ofstream fout("lgput.out");
fout << r << '\n';
fout.close();
}
inline void exponentiere()
{
r = 0;
p2[0] = 1;
for (pmax = 1; (1 << pmax) < p; pmax++)
p2[pmax] = p2[pmax - 1] * p2[pmax - 1];
for (int i = pmax; i >= 0; i--)
{
if (p >= (1 << i))
{
p -= 1 << i;
r += p2[i];
}
}
}
int main()
{
citire();
exponentiere();
scriere();
return 0;
}