正在看c++STL标准库这本书.里面是不是有一个函数写错了,帮忙看一眼
有一个求质数的函数,书上这样写的
bool IsPrime(int number){
number = abs(number);
// 书中把0和1都定为质数了
if(number == 0 || number == 1){
return true;
}
int divisor;
for(divisor = number/2; number%divisor != 0; --divisor){
;
}
return divisor == 1;
}
// 我修改了一下,不知道对不对
bool IsPrime(int number){
number = abs(number);
if(number == 0 || number == 1){
return false;
}
int divisor;
for(divisor = number/2; number%divisor != 0; --divisor){
;
}
return divisor == 1;
}
小学的知识了,有点淡忘,使我记错了,还是书写错了,我记得0和1不能是质数吧?谁能告诉我下那个对?
[解决办法]
即不是质数也不是合数
[解决办法]
质数: 2, 3, 5, 7 。。。
合数:4,6,。。。
[解决办法]
质数的概念,只能被自身和1整除的数