1 条题解
-
0
AC记录:https://www.luogu.com.cn/record/77558646
题目分析
本题与 CF177B1 不同点:数据范围。
我的CF177B1题解 是无法通过此题的
这里必须从小到大枚举。
本题考查贪心 + 暴力。
每一次都枚举 nn 最小的因数,这样剩下的数就是最大的因数,记得累加求出的最大因素。
详情见代码。
#include<iostream> #include<cmath> using namespace std; int n,ans=1;//定义变量 int main(){ cin>>n;//输入 while(n>1){//循环 ans=ans+n;//累加 bool flag=true;//定义bool变量,特判质数 for(int i=2;i<=sqrt(n);i++){//循环 if(n%i==0){//如果整除 n=n/i;//n变成最大因数 flag=false;//不是质数,flag改为false break;//退出循环 } } if(flag==true){//如果是质数 cout<<ans<<endl;return 0;//输出,结束程序 } } cout<<ans<<endl;//输出 return 0;//养成好习惯。 }
搬运自己的题解。
- 1
信息
- ID
- 6325
- 时间
- 2000ms
- 内存
- 256MiB
- 难度
- 4
- 标签
- 递交数
- 3
- 已通过
- 2
- 上传者