CSP2020J 阅读程序题2
#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是不超过262262的正整数,k都是不超过10000的正整数,完成下面的判断题和单选题:
若k=1,则输出ans时,len=n。 ( )
若k>1,则输出ans时,len一定小于n。( )
若k>1,则输出ans时 k^len一定 > n
若输入的n=10^15,输入的k=1,则输出=()
(10^30 - 10^15)/2
(10^30 + 10^15)/2
1
10^15
若输入的n等于205,891,132, 094,649(即3^30),输入的k=3.则输出=()
(3^30-1)/2
3^30
3^30-1
(3^30+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
发表评论