求任意两个数间的质数个数

Posted 邗影

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了求任意两个数间的质数个数相关的知识,希望对你有一定的参考价值。

输入 

数字个数n

最小从4开始,输出n  个升序排列的数字

输出任意两个数之间质数个数的总和

3

4

6

12

out:

6

不知道哪里错了,求解:

#include <iostream>
#include<string>
#include<fstream>
#include<math.h>

using namespace std;
bool yes(int i)
{
int a=0;
for(a=2; a<=sqrt(i); a++)
{
if(i%a==0)
{
return false;
}

}
return true;
}

int xunzhao(int a,int b)
{

int counts=0;
for(int c=a; c<=b; c++)
{
if(yes(c))
{
counts++;
}
}
return counts;
}

int zhishu(int *arr,int num,int z)
{
int left=0;
int ri=0;
int sum=0;

for(int i=0; i<num-z;i=i+z)
{
left=arr[i];
ri=arr[i+z];
sum+=xunzhao(left,ri);

}


return sum;
}
int main()
{
int num;
cin>>num;
int arr[num+1];
for(int i=0; i<num; i++)
{
cin>>arr[i];
}
int he=0;
for(int a=1;a<num;a++)
{
he+=zhishu(arr,num,a);
}
cout<<he;

}

以上是关于求任意两个数间的质数个数的主要内容,如果未能解决你的问题,请参考以下文章

对输入的任意正整数N,输出2到N之间所有质数及质数的个数 用VFP程序做

moli 茉莉

java编程怎么完成任意输入一个正整数,反序输出每一位?

第9次作业-函数求输入的任意两个数的平均值,并输出三个数中的最小值。

java编程怎么完成任意输入一个正整数,反序输出每一位?

Poj The xor-longest Path 经典题 Trie求n个数中任意两个异或最大值