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