#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为正整数,solve2函数的作用是计算n所有的因子的平方和( )
第13~14行的作用是避免n的平方根因子i(或n/i)进入第16行而被计算两次( )
如果输入的n为质数,solve2(n)的返回值为n2+1( )
如果输入的n为质数p的平方,那么solve2(n)的返回值为( )
p2+p+1
n2+n+1
n2+1
P4+2p2+1
当输入为正整数时,第一项减去第二项的差值一定( )
大于0
大于等于0且不一定大于0
小于0
小于等于0且不一定小于0
当输入为“5”时,输出为( )
"651.625"
"650.729"
"651.676"
"652.625"