P1062- number of columns

 1 #include <bits/stdc++.h>
 2 #define _for(i,a,b) for(int i = (a);i < b;i ++)
 3 #define _rep(i,a,b) for(int i = (a);i > b;i --)
 4 typedef long long ll;
 5 using namespace std;
 6 inline ll read()
 7 {
 8     ll ans = 0;
 9     char ch = getchar(), last = ' ';
10     while(!isdigit(ch)) last = ch, ch = getchar();
11     while(isdigit(ch)) ans = (ans << 1) + (ans << 3) + ch - '0', ch = getchar();
12     if(last == '-') ans = -ans;
13     return ans;
14 }
15 inline void write(ll x)
16 {
17     if(x < 0) x = -x, putchar('-');
18     if(x >= 10) write(x / 10);
19     putchar(x % 10 + '0');
20 }
21 int k,N;
22 
23 int main()
24 {
25     k = read(),N = read();
26     string s;
27     while(N)
28     {
29         int r = N%2;
30         N /= 2;
31         s += r+'0';
32     }
33 //    reverse(s.begin(),s.end());
34     ll rnt = 0;
35     _for(i,0,s.size())
36         if(s[i]=='1')
37             rnt += pow(k,i);
38     write(rnt);
39     return 0;
40 }

 

Guess you like

Origin www.cnblogs.com/Asurudo/p/11375462.html