阅读程序1:(程序输入不超过数组或字符串定义的范围;判断题正确填T,错误填F;除特殊说明外,判断题 1.5,选择题 3 分,共计 40分)•判断题
(1)输入的字符串应当只由大写字母组成,否则在访问数组时可能越界。( )
(2)若输入的字符串不是空串,则输入的字符串与输出的字符串一定不一样。()
(3)将第 12 行的 i < 26 改为 i < 16,程序运行结果不会改变。( )
(4)将第 26 行的 i < 26 改为 i < 16,程序运行结果不会改变。( )
•单选题
(5) 若输出的字符串为 ABCABCABCA,则下列说法正确的是( )。
A. 输入的字符串中既有 A 又有 P
B. 输入的字符串中既有 S 又有 B
C. 输入的字符串中既有 S 又有 P
D. 输入的字符串中既有 A 又有 B
(6)若输出的字符串为 CSPCSPCSPCSP,则下列说法正确的是( )。
A. 输入的字符串中既有 P 又有 K
B. 输入的字符串中既有 J 又有 R
C. 输入的字符串中既有 J 又有 K
D. 输入的字符串中既有 P 又有 R
阅读程序2:假设输入的 n 是不超过 262 的正整数,k 都是不超过 10000 的正整数,完成下面的判断题和单选题:
判断题
(1)若 k=1,则输出 ans 时,len=n。( )
(2)若 k>1,则输出 ans 时,len —定小于 n。( )
(3)若 k>1,则输出 ans 时,klen —定大于 n。( )
单选题
(4)若输入的 n 等于:1015,输入的 k 为 1,则输出等于( )。
A. 1
B. (1030-1015)/2
C. (1030+1015)/2
D. 1015
(5)若输入的 n 等于 205,891,132,094,649(即 330),输入的 k 为 3,则输出等于( )。
A. (330-1)/2
B. 330
C. 330-1
D. (330+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
阅读程序3:假设输入的 n 是不超过 50 的正整数,d[i][0]、d[i][1] 都是不超过 10000 的正整数,完成下面的判断题和单选题:
判断题
(1)若输入 n 为 0,此程序可能会死循环或发生运行错误。( )
(2)若输入 n 为 20,接下来的输入全为 0,则输出为 0。( )
(3)输出的数一定不小于输入的 d[i][0] 和 d[i][1] 的任意一个。( )
单选题
(4)若输入的 n 为 20,接下来的输入是 20 个 9 和 20 个 0,则输出为( )。
A. 1890
B. 1908
C. 1881
D. 1917
(5)若输入的 n 为 30,接下来的输入是 30 个 0 和 30 个 5,则输出为( )。
A. 2000
B. 2030
C. 2010
D. 2020
(6)(4 分)若输入的 n 为 15,接下来的输入是 15 到 1,以及 15 到 1,则输出为( )。
A. 2440
B. 2220
C. 2420
D. 2240
三、完善程序(单选题,每小题 3 分,共计 30 分)
1.(质因数分解)给出正整数 n,请输出将 n 质因数分解的结果,结果从小到大输出。
例如:输入 n=120,程序应该输出 2 2 2 3 5,表示:120 = 2×2×2×3×5。输入保证 2≤n≤109。
提示:先从小到大枚举变量 i,然后用 i 不停试除 n 来寻找所有的质因子。
试补全程序。1)①处应填( )
A. 1
B. n-1
C. 0
D. 2
2)②处应填( )
A. n/i
B. n/(i*i)
C. i*i*i
D. i*i
3)③处应填( )
A. if(n%i==0)
B. if(i*i<=n)
C. while(i*i<=n)
D. while(n%i==0)
4)④处应填( )
A. n>1
B. n<=1
C. i<n/i
D. i+i<=n
5)⑤处应填( )
A. 2
B. n/i
C. i
D. n
阅读程序2:(最小区间覆盖)给出 n 个区间,第 i 个区间的左右端点是 [ai,bi]。现在要在这些区间中选出若干个,使得区间 [0, m] 被所选区间的并覆盖(即每一个 0≤i≤m 都在某个所选的区间中)。保证答案存在,求所选区间个数的最小值。
输入第一行包含两个整数 n 和 m (1≤n≤5000,1≤m≤109)
接下来 n 行,每行两个整数 ai,bi (0≤ai,bi≤m)。
提示:使用贪心法解决这个问题。先用 O(n2) 的时间复杂度排序,然后贪心选择这些区间。
试补全程序。1)①处应填( )
A. A[j].b>A[j-1].b
B. A[j].a>A[j-1].a
C. A[j].a<A[j-1].a
D. A[j].b<A[j-1].b
2)②处应填( )
A. A[j+1]=A[j];A[j]=t;
B. A[j-1]=A[j];A[j]=t;
C. A[j]=A[j-1];A[j-1]=t;
D. A[j]=A[j+1];A[j+1]=t;
3)③处应填( )
A. A[i].b>A[i-1].b
B. A[i].b<A[i-1].b
C. A[i].b>A[p-1].b
D. A[i].b<A[p-1].b
4)④处应填( )
A. q+1<n&&A[q+1].b<=r
B. q+1<n&&A[q+1].a<=r
C. q<n&&A[q].a<=r
D. q<n&&A[q].b<=r
5)⑤处应填( )
A. r=max(r,A[q+1].b)
B. r=max(r,A[q].b)
C. r=max(r,A[q+1].a)
D. q++