#include <iostream>
using namespace std;
long long n, ans;
int k, len;
long long d[1000000];
int main() {
cin >> n >> k;
d[0] = 0;
len= 1;
ans = 0;
for (long long i = 0; i <n; ++i) {
++d[0];
for (int j = 0; j + 1<len; ++j) {
if (d[j] == k) {
d[j] = 0;
d[j + 1] += 1;
++ans;
}
}
if (d[len- 1] == k) {
d[len - 1] = 0;
d[len] =1;
++len;
++ans;
}
}
cout << ans << endl;
return 0;
}
假设输入的n是不超过2^62的正整数,k都是不超过10000的正整数,完成下面的判断题和单选题:
若k=1 则输出ans时,len=n
若k>1则输岀ans时,len 一定小于n。()
若k>1,则输出ans时,klen—定大于n。()
若输入的n等于1015,输入的k为1,则输岀等于()。
(1030-1015)/2
(1030+1015)/2
1
1015
若输入的n等于205,891,132,094,649(即330),输入的k为3,则 输出等于()。
(330-1)/2
330
330-1
(330+1)/2
若输入的n等于100,010,002,000,090,输入的k为10,则输出等 于()。
11,112,222,444,543
11,122,222,444,453
11,122,222,444,543
11,112,222,444,453