题解 | 1=N
1=N
https://www.nowcoder.com/practice/31469f8503c24914acd5c0290ad4dfbb
#include<bits/stdc++.h>
using namespace std;
using ll=long long;
using ull=unsigned long long;
using i128=__int128_t;
using u128=__uint128_t;
using ld=long double;
void solve()
{
int n,sum=0;
cin >> n;
for(int i=2;i*i<=n;i++)//将n所有的质因数分解出来 代价即为质因数之和
{
while(n%i==0)
{
sum+=i;
n/=i;
}
}
if(n>1) sum+=n;//如果找完之后n仍然大于1 说明n有一个大于sqrt(n)的质因数 sum加上n即可
cout << sum;
}
int main()
{
ios::sync_with_stdio(false);
cin.tie(nullptr);
int t=1;
//cin >> t;
while(t--)
{
solve();
}
return 0;
}
