多题目

01 #include <iostream>

02 #include <cmath>

03 using namespace std;

04

05 int solve1(int n){

06     return n*n;

07 }

08

09 int solve2(int n){

10    int sum=0;

11    for(int i=1;i<=sqrt(n);i++){

12         if(n%i==0){

13             if(n/i==i){

14                 sum+=i*i;

15             }else{

16                 sum+=i*i+(n/i)*(n/i);

17             }

18         }

19     }

20     return sum;

21 }

22

23 int main(){

24     int n;

25     cin>>n;

26     cout<<solve2(solve1(n))<<" "<<solve1((solve2(n)))<<endl;

27     return 0;

28 }

假设输入的n是绝对值不超过1000的整数,完成下面的判断题和单选题。

第1题 判断

如果输入的n为正整数,solve2函数的作用是计算n所有的因子的平方和(

A.
正确
B.
错误

第2题 判断

13~14行的作用是避免n的平方根因子i(或n/i)进入第16行而被计算两次(

A.
正确
B.
错误

第3题 判断

如果输入的n为质数,solve2n)的返回值为n2+1

A.
正确
B.
错误

第4题 单选

如果输入的n为质数p的平方,那么solve2n)的返回值为(

A.

p2+p+1

B.

n2+n+1

C.

n2+1

D.

p4+2p2+1

第5题 单选

当输入为正整数时,第一项减去第二项的差值一定(

A.

大于0

B.

大于等于0且不一定大于0

C.

小于0

D.

小于等于0且不一定小于0

第6题 单选

当输入为“5”时,输出为(

A.

"651.625"

B.

"650.729"

C.

"651.676"

D.

"652.625"

发表评论

登录 后再回复