3.
假设输入的 nn 是绝对值不超过 10001000 的整数,完成下面的判断题和单选题。
- #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){
- sum+=i*i;
- }else{
- sum+=i*i+(n/i)*(n/i);
- }
- }
- }
- return sum;
- }
- int main(){
- int n;
- cin>>n;
- cout<<solve2(solve1(n))<<" "<<solve1((solve2(n)))<<endl;
- return 0;
- }
判断题
1如果输入的 nn 为正整数,solve2 函数的作用是计算 nn 所有的因子的平方和( )
2第 13\sim 1413∼14 行的作用是避免 nn 的平方根因子 ii(或 n/in/i )进入第 1616 行而被计算两次( )
3如果输入的 nn 为质数,solve2(n) 的返回值为 n^2+1n2+1( )
单选题
(4分)如果输入的 nn 为质数 pp 的平方,那么 solve2(n) 的返回值为( )
4当输入为正整数时,第一项减去第二项的差值一定( )
5当输入为 5 时,输出为( )
1.
A. 正确
B. 错误
2.
A. 正确
B. 错误
3.
A. 正确
B. 错误
4.
A. p^2+p+1p2+p+1
B. n^2+n+1n2+n+1
C. n^2+1n2+1
D. p^4+2p^2+1p4+2p2+1
5.
A. 大于 00
B. 大于等于 00 且不一定大于 00
C. 小于 00
D. 小于等于 00 且不一定小于 00
6.
A. 651 625
B. 650 729
C. 651 676
D. 652 625