码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2016-09-12 18:32:55      阅读:152      评论:0      收藏:0      [点我收藏+]

标签:

输入 

数字个数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;

}

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

标签:

原文地址:http://www.cnblogs.com/8335IT/p/5865433.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!