我想计算两个数字之间的素数的数量,我的程序运行良好,但打印出的答案加1.我不完全确定什么是错的用我的素数检查器。在1-100之间检查时,我得到26而不是25。函数来计算两个数字之间的素数
#include <iostream>
using namespace std;
int number_of_primes(int from, int to){
int count=0;
for (int a=from ; a < to ; a++)
{
bool prime = true;
for (int c=2 ; c*c <= a ; c++)
{
if(a % c == 0)
{
prime = false;
break;
}
}
if(prime) count++;
}
return count;
}
int main(){
int a=1;
int b=100;
cout<<number_of_primes(a, b)<<endl;
return 0;
}
您可以打印出每一个作为素数的条目,然后将您得到的列表与几乎任何搜索结果进行比较,以了解*“1到100之间有多少个素数”*(大多数匹配包括列表),看看你在计算什么,你不应该。 : -/ – HostileFork 2014-10-30 00:57:29