#include <iostream> #includ

#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;
}

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

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

答案
A

题目信息

题号:1884
题型:判断题
难度:普通