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

输入

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

}

时间: 2024-10-10 14:03:05

求任意两个数间的质数个数的相关文章

最短路径--弗洛伊德算法[求任意一对顶点间的最短路径]

转自大神:https://www.cnblogs.com/wangyuliang/p/9216365.html !!!!!!!!!!!!!!!!!!!!!!!!!注意             迪杰斯特拉算法和弗洛伊德算法(求最短路径) 都是有向图!!!!单边的 暑假,小哼准备去一些城市旅游.有些城市之间有公路,有些城市之间则没有,如下图.为了节省经费以及方便计划旅程,小哼希望在出发之前知道任意两个城市之前的最短路程. 上图中有4个城市8条公路,公路上的数字表示这条公路的长短.请注意这些公路是单向

【模板】求任意两个简单多边形的并面积

#include<bits/stdc++.h> using namespace std; #define maxn 510 const double eps=1E-8; int sig(double d){ return(d>eps)-(d<-eps); } struct Point{ double x,y; Point(){} Point(double x,double y):x(x),y(y){} bool operator==(const Point&p)const{

封装函数求任意两个值之间数字的累加和

function add(a,b){ // 给函数形参 var sum = 0; // 初始化sum用于存放和 for (var i = a; i <= b; i++){ sum += i; // 计数器初始值为a,结束值为b,每次给sum+1 } console.log(sum); } add(1,100); // 调用函数 原文地址:https://www.cnblogs.com/sandraryan/p/11368027.html

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

Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 5646   Accepted: 1226 Description In an edge-weighted tree, the xor-length of a path p is defined as the xor sum of the weights of edges on p: ⊕ is the xor operator. We say a path the xor-l

FLOyd算法 求任意最短路

此算法由Robert W. Floyd(罗伯特·弗洛伊德)于1962年发表在"Communications of the ACM"上.同年Stephen Warshall(史蒂芬·沃舍尔)也独立发表了这个算法.Robert W.Floyd这个牛人是朵奇葩,他原本在芝加哥大学读的文学,但是因为当时美国经济不太景气,找工作比较困难,无奈之下到西屋电气公司当了一名计算机操作员,在IBM650机房值夜班,并由此开始了他的计算机生涯. 作者:ahalei来源:51CTO博客|2014-03-26

面试宝典_Python.常规算法.0002.输出任意两个字符串中最长公共子串?

面试题目: 1. 用PY实现求任意两个字符串最长的公共子串? 解题思路: 1. 先求出长度最小的字符串,然后遍历其索引,这样可以避免字符串索引溢出,然后判断对应索引的值是否相同,相同的话就加到目标字典,不同的话就更新目标字典索引,但不存储,最后再按照值长度逆向排序取出第一个元素即可. 具体实现: #!/usr/bin/env python # -*- coding: utf-8 -*- """ # # Authors: limanman # OsChina: http://x

求数组中和为给定值的任意两个数

转载请注明出处:http://blog.csdn.net/ns_code/article/details/24933341     题目: 输入一个已经按升序排序过的数组和一个数字,在数组中查找两个数,使得它们的和正好是输入的那个数字.要求时间复杂度是O(n).如果有多对数字的和等于输入的数字,输出任意一对即可. 例如输入数组1.2.4.7.11.15和数字15.由于4+11=15,因此输出4和11.     思路: 最直接的做法是暴力法,两个for循环,时间复杂度为O(n*n),但是这样没有充

求数组中任意两个数之间所有数字的和

303. Range Sum Query - Immutable   求数组中任意两个数之间所有数字的和 QuestionEditorial Solution My Submissions Total Accepted: 37248 Total Submissions: 146945 Difficulty: Easy Given an integer array nums, find the sum of the elements between indices i and j (i ≤ j),

HDU 3518 Boring counting(后缀数组啊 求字符串中不重叠的重复出现至少两次的子串的个数)

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3518 Problem Description 035 now faced a tough problem,his english teacher gives him a string,which consists with n lower case letter,he must figure out how many substrings appear at least twice,moreover