求真因数和并枚举上界,区分自身与真因数。
#include <bits/stdc++.h> using namespace std; int main(){int n;cin>>n;vector<int>s(n+1);for(int d=1;d<=n/2;d++)for(int j=2*d;j<=n;j+=d)s[j]+=d;for(int i=2;i<=n;i++)if(s[i]==i)cout<<i<<'\n';}
注册一个 GeekPi OJ 通用账户,您就可以在我们提供的所有在线评测服务上提交代码、参与讨论。
使用您的 GeekPi OJ 通用账户