解题思路:
注意事项:
参考代码:
#include<bits/stdc++.h> using namespace std; typedef long long ll; const ll MAX=987654321; ll n,m; ll f(ll n)//求最大质因数 { ll ans=1; for(int i=2;i<=sqrt(n);i++) while(n%i==0) { n/=i; ans=i; } return ans; } int main() { cin>>n; ll s=0; while(n>3) //最后结果只有一个:n<=3, //因为当n=3的时候,就不能再取了,比根3小的只有1,而1不是质数 { s+=f(n); n-=2*f(n); //减去 自己拿走的,加上老妈拿走的 } cout<<s<<endl; return 0; }
0.0分
2 人评分