2023 年第 30 题阅读程序初等数论普及/提高
程序(三):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)的返回值为( )
考点拆解
程序阅读与结果判断
易错提醒
阅读程序题要按变量变化顺序手推,不要跳步
选择题要检查单位、边界和题目中的否定词