多题目

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的正整数,完成下面的判断题和单选题:

第1题 判断

若k=1,则输出ans时,len=n。 ( )

A.
正确
B.
错误

第2题 判断

若k>1,则输出ans时,len一定小于n。( )

A.
正确
B.
错误

第3题 判断

若k>1,则输出ans时 k^len一定 > n

A.
正确
B.
错误

第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

发表评论

登录 后再回复