素数对猜想——《C语言代码笔记》

一道PAT乙级练习题,楼主不才,一直都没能全部通过,始终有个测试点不能通过,希望大神们能帮忙改改错误,楼主顺便说说我的思路啦。大家互相交流交流0.0

素数对猜想

让我们定义 dn 为:dn = pn+1 - pn,其中 pi 是第i个素数。显然有 d1=1 且对于n>1有 dn 是偶数。“素数对猜想”认为“存在无穷多对相邻且差为2的素数”。

现给定任意正整数N (< 105),请计算不超过N的满足猜想的素数对的个数。

输入格式:每个测试输入包含1个测试用例,给出正整数N。

输出格式:每个测试用例的输出占一行,不超过N的满足猜想的素数对的个数。

输入样例:

20

1

20

输出样例:

4

1

4


楼主语文可能不是太好,每次看题都要看好多次才能懂题目的意思。

既然语文不好,那我就画图为大家解释下题目的意思啦!


题目解释


题目思路

楼主的思路可能和别人的不太一样,但是也是楼主自己辛辛苦苦想出来哒!


运行截图


代码示例

#include<stdio.h> #include<math.h> int sushu[100000]={0}; //全局变量 “素数数组” int sushupanduan(int n)//素数判断函数,是素数就返回1 { int i; for(i=2; i<=sqrt(n); i++) { if(n%i==0) return 0; } return 1; } void sushuIN(int n) { int i; for(i=2; i<n; i++) { sushu[i] = sushupanduan(i); } } int main() { int i, n, count=0; scanf("%d", &n); sushuIN(n); for(i=2; i<n; i++)//找寻素数对 { if(sushu[i]==1) { if(sushu[i+2]==1) count++; } } printf("%d\n", count); return 0; }

12345678910111213141516171819202122232425262728293031323334353637

#include<stdio.h>#include<math.h>int sushu[100000]={0}; //全局变量 “素数数组” int sushupanduan(int n)//素数判断函数,是素数就返回1 {    int i;     for(i=2; i<=sqrt(n); i++)    {        if(n%i==0)        return 0;     }    return 1; }void sushuIN(int n) {    int i;     for(i=2; i<n; i++)    {       sushu[i] = sushupanduan(i);     }}int main(){    int i, n, count=0;     scanf("%d", &n);     sushuIN(n);     for(i=2; i<n; i++)//找寻素数对     {       if(sushu[i]==1)       {           if(sushu[i+2]==1)           count++;        }    }    printf("%d\n", count);     return 0; }


本次分享就到这里,如有兴趣请关注小文’s blog

如果你有C语言难题可以在评论区留言,博主将在第二天为您讲解

如有任何意见请留言或者评论,本人一定采取。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏進无尽的文章

实践-佳博蓝牙打印机打印实现

最近项目中使用到了打印机,最后总算打印出自己想要打印的数据了,还算不错,做一个小结吧,希望对需要的朋友有些帮助。

1272
来自专栏吴伟祥

学习数据结构的原因&方法 原

541
来自专栏Golang语言社区

抽奖问题分析

普通抽奖问题问题描述 用户随机抽奖,数据如下: // map中,key代表用户名,value代表成用户下单数 var users map[string]int...

3273
来自专栏数据结构与算法

cf1072D. Minimum path(BFS)

给出一个\(n \times n\)的矩阵,允许修改\(k\)次,求一条从\((1, 1)\)到\((n, n)\)的路径。要求字典序最小

683
来自专栏移动端开发

Swift 实现俄罗斯方块详细思路解析(附完整项目)

    俄罗斯方块,是一款我们小时候都玩过的小游戏,我自己也是看着书上的思路,学着用 Swift 来写这个小游戏,在写这个游戏的过程中,除了一些位置的计算,数据...

1092
来自专栏数据结构与算法

agc016C - +/- Rectangle(构造 智商题)

我的思路:直接按样例一的方法构造,若$h \times w$完全被$N \times M$包含显然无解

791
来自专栏aCloudDeveloper

算法导论第十一章 散列表

一、散列表的概念 本章介绍了散列表(or hash table)的概念、散列函数的设计及哈希冲突的处理。散列表(为了形象描述,我们通常叫槽)从表意上看是一种数...

1966
来自专栏京东技术

Sieve—Android 内存分析系统 | 解决你的内存溢出问题

内存问题是个老大难,对用户来说,泄漏或者不合理的内存使用最终会反映到性能和体验上,并且极易造成 OOM( Out Of Memories ) 而闪退, 而对开发...

992
来自专栏青玉伏案

算法与数据结构(七) AOV网的拓扑排序(Swift版)

今天博客的内容依然与图有关,今天博客的主题是关于拓扑排序的。拓扑排序是基于AOV网的,关于AOV网的概念,我想引用下方这句话来介绍: AOV网:在现代化管理中...

1787
来自专栏xcywt

编译到底做了什么(***.c -> ***.o的过程)

 (第一次写博客,好激动的说.......) 我们知道,一个程序由源代码到可执行文件往往由这几步构成: 预处理(Prepressing)-> 编译(Compil...

1895

扫码关注云+社区