0
已解决
陈曦
资深天翼
资深天翼
本人错误代码:
#include<iostream>
#include<cmath>
using namespace std;
bool zs(long long n){
if(n==1) return false;
for(int i=2;i<=sqrt(n);i++){
if(n%i==0){
return false;
}
}
return true;
}
int main(){
long long n;
cin>>n;
for(int i=n;i>=sqrt(n);i--){
if(n%i==0 && zs(i)){
cout<<i;
return 0;
}
}
return 0;
}
请回答两点:
1、找错
2、如果我的思路不对,就说思路
不要网址!
不要代码!
不许蹭贴!
不要网址!
不要代码!
不许蹭贴!
陈曦在2020-05-07 20:48:52追加了内容
陈曦在2020-05-07 20:56:23追加了内容
@乔俊驰 @吴君昊 @朱子尘
你们会吗?
陈曦在2020-05-07 21:06:43追加了内容
@欧阳语聪
陈曦在2020-05-08 11:57:21追加了内容
@刘乐宸 @黄品翔 @徐烨奎 @徐睿涵 @柯以成 @禄子墨 @赵航宇 @周子昂
3
0
0
邓涵睿
中级天翼
中级天翼
分析:一遍遍循环,效率比较低,但可以通过减半和除偶来减少次数,但是依旧不是很理想,数论中有个定论是任意合数都可以由
几个质数乘的,但是目前还没想好怎么运用这个定论,所以将就一下。
PS:这个数肯定是合数,因为1不是质数,所以不可能是1和本身。望采纳
0