#include <cmath> #include <iostream> using namespace std; int main() { //选择最小的质因数,本质就是分解质因数 int n,ans=0;cin>>n; for(int i=2;i*i<=n;i++) { while(n%i==0) { n/=i; ans+=i; } } if(n>1) ans+=n; cout<<ans; }
#include <cmath> #include <iostream> using namespace std; int main() { //选择最小的质因数,本质就是分解质因数 int n,ans=0;cin>>n; for(int i=2;i*i<=n;i++) { while(n%i==0) { n/=i; ans+=i; } } if(n>1) ans+=n; cout<<ans; }