csppass
连续 00 XP登录 / 注册
202330阅读程序初等数论普及/提高

程序(三):n=p²(p为质数)时 solve2(n) 的值

题目

阅读下面的程序,回答问题。 #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 为质数 p 的平方,那么 solve2(n)的返回值为( )

考点拆解
程序阅读与结果判断
易错提醒
阅读程序题要按变量变化顺序手推,不要跳步
选择题要检查单位、边界和题目中的否定词