1471: 阅读程序-5
Description
#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是不超过262的正整数,k都是不超过1000的正整数,完成下面的判断题和单选题。
l 判断题
1)
若k=1,则输出ans时,len=n。 ( )
2)
若k>1,则输出ans时,len一定小于n。 ( )
3)
若k>1,则输出ans时,klen 一定大于n。 (
)
l 单选题
4)
若输入的n等于10^15,输入的k为1,则输出等于( )。
A. (10^30 – 10^15) / 2
B. (10^30 + 10^15) / 2
C. 1
D. 10^15
5)
若输入的n等于205,891,132,094,649(即3^30),输入的k为3,则输出等于( )。
A. (3^30-1) / 2
B. 3^30
C. 3^30 – 1
D. (3^30 + 1) / 2
6)
若输入的n等于100,010,002,000,090,输入的k为10,则输出等于( )。
A. 11,112,222,444,543
B. 11,122,222,444,453
C. 11,122,222,444,543
D. 11,112,222,444,453
Input
Output
Sample Input Copy
1
Sample Output Copy
X
HINT
#include<bits/stdc++.h>
using namespace std;
int main() {
int n; cin>>n;
switch(n) {
case 1: cout<<"V"<<endl; break;
case 2: cout<<"X"<<endl; break;
case 3: cout<<"X"<<endl; break;
case 4: cout<<"X"<<endl; break;
case 5: cout<<"A"<<endl; break;
case 6: cout<<"D"<<endl; break;
}
return 0;
}