多题目

(3)


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为质数,solve2(n)的返回值为n2+1( )

A.
正确
B.
错误

第4题 多选

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

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"

发表评论

登录 后再回复