#4374. 2023CSP/J-程序阅读
2023CSP/J-程序阅读
#include <iostream>
#include <cmath>
using namespace std;
int solve1(int n) {
return n * n;
}
int solve2(int n) {
int sum = 0;
for(int i = 1; i <= sqrt(n); i++)
if(n % i == 0) {
if(n/i == i) { //13
sum += i*i; //14
} else {
sum += i*i + (n/i)*(n/i); //16
}
}
return sum;
}
int main() {
int n;
cin >> n;
cout << solve2(solve1(n)) << " " << solve1(solve2(n)) << endl;
return 0;
}
判断题 1、
如果输入的 n 为正整数,solve2 函数的作用是计算 n 所有的因子的平方和。( )
{{ select(1) }}
- 是
- 否
2、
第 13-14 行的作用是避免n的平方根因子 i(或 n/i)进入第 16 行而被计算两次。( )
{{ select(2) }}
- 是
- 否
3、
如果输入的n为质数,solve2(n) 的返回值为 n^2+1( )
{{ select(3) }}
- 是
- 否
单选题
4、
如果输入的 n 为质数 p 的平方,那么solve2(n) 的返回值为( )。 {{ select(4) }}
- p^2+p+1
- n^2+n+1
- n^2+1
- p^4+2p^2+1
5、
当输入为正整数时,第一项减去第二项的差值一定( )。
{{ select(5) }}
- 大于 θ
- 大于等于 θ 且不一定大于 θ
- 小于 θ
- 小于等于 θ 且不一定小于 θ
6、
当输入为“5”时,输出为( )。
{{ select(6) }}
- “651 625”
- “650 729”
- “651 676”
- “652 625”