调用因数分解模板,如何把所有因子加起来再判断即可
复杂度O( )
#include<bits/stdc++.h> #define int long long using namespace std; int n; int work(int x) { int ans=0; for(int i=1;i*i<=x;i++) { if(x%i==0) { ans+=i; if(i*i!=x) ans+=x/i; } } return ans-x; } signed main() { cin>>n; int k=work(n); if(n==k) puts("Pure"); if(n<k) puts("Late"); if(n>k) puts("Early"); return 0; }