这是一个我编的一个函数,但为什么下面这么写出不来我要的结果呢!谁告诉下为什么用else 的那个为什么错了呢?
int IsPrime(int n){
int i;
for(i=2;i<=n-1;i++){
if(n%i==0)
return 0;
else
return 1;}}
int IsPrime(int n){ int i; for(i=2;i<=n-1;i++){ if(n%i==0) return 0;} return 1;}
答案:3 悬赏:10 手机版
解决时间 2021-04-04 08:25
- 提问者网友:精神病院里
- 2021-04-03 13:10
最佳答案
- 五星知识达人网友:行路难
- 2021-04-03 13:34
int IsPrime(int n){
int i;
for(i=2;i<=n-1;i++)
if(n%i==0)
return 0;
return 1;
}
这样就可以了
直到2到n-1找到被n整除的,就return 0;
你那样写错误原因是一个数n一开始对2求余 就break了
如果n%2==0 return 0;
否则return 1;直到错误在哪里吧
int i;
for(i=2;i<=n-1;i++)
if(n%i==0)
return 0;
return 1;
}
这样就可以了
直到2到n-1找到被n整除的,就return 0;
你那样写错误原因是一个数n一开始对2求余 就break了
如果n%2==0 return 0;
否则return 1;直到错误在哪里吧
全部回答
- 1楼网友:过活
- 2021-04-03 15:26
循环外加一句 else return true;当你不符合if里的条件就没有返回值了
所以
bool isprime(int value)
{
for(int i = 2; i < value; i++)
{ if (value % i != 0) { return false;}
else return ture;
}
}
- 2楼网友:青灯有味
- 2021-04-03 15:00
把else去掉就可以了,在for循环外面return 1.
int IsPrime(int n){
int i;
for(i=2;i<=n-1;i++){
if(n%i==0)
return 0;
}
return 1;
}
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯