1007. 素数对猜想 (20)
来源:互联网 发布:javascript中PoSt 编辑:程序博客网 时间:2024/05/29 12:15
1007. 素数对猜想 (20)
/*coded by indere 2017/06/18*///让我们定义 dn 为:dn = pn + 1 - pn,其中 pi 是第i个素数。显然有 d1 = 1 且对于n > 1有 dn 是偶数。//“素数对猜想”认为“存在无穷多对相邻且差为2的素数”。//现给定任意正整数N(< 10^5),请计算不超过N的满足猜想的素数对的个数。////输入格式:每个测试输入包含1个测试用例,给出正整数N。//输出格式:每个测试用例的输出占一行,不超过N的满足猜想的素数对的个数。//输入样例://20//输出样例://4//分析://判断一个数是否为素数,从大到小一次除以比它的平方根小的素数,如果都不能整数,则为素数//在个程序里面我创了一个链表来存储所有的素数。#include<stdio.h>#include<stdlib.h>typedef struct Prime { /*素数链表节点*/ int num; /*数字*/ struct Prime *next; /*下一个节点*/}PrimeNum;void getPrime(PrimeNum *head, int num); /*根据输入的数据,创建素数链表*/int judgePrime(PrimeNum *head, int num); /*判断数num是否为素数*/void printPrimenum(PrimeNum *head); /*输出满足条件的素数对个数*/int main() { int end; scanf("%d", &end); PrimeNum *head = (PrimeNum *)malloc(sizeof(PrimeNum)); head->num = 0; head->next = NULL; getPrime(head,end); printPrimenum(head); return 0;}void getPrime(PrimeNum * head, int num) { if (num <= 1) return; head->num = 2; head->next = NULL; PrimeNum *p = head; for (int i = 3; i < num + 1; i++) { if (judgePrime(head, i)) { /*是素数,则加入链表*/ PrimeNum *preme = (PrimeNum *)malloc(sizeof(PrimeNum)); preme->num = i; preme->next = NULL; p->next = preme; p = preme; } } p = NULL;}int judgePrime(PrimeNum *head, int num) { PrimeNum *p = head; while (p) { if ((p->num * p->num <= num) && (num % (p->num)) == 0) { return 0; }else if((p->num * p->num > num)){ break; } p = p->next; } p = NULL; return 1;}void printPrimenum(PrimeNum *head) { int sum = 0; int temp = head->num; PrimeNum *p = head->next; while (p) { if (p->num - temp == 2) sum++; temp = p->num; p = p->next; } printf("%d\n", sum); p = NULL;}
阅读全文
0 0
- 1007. 素数对猜想 (20)
- 1007. 素数对猜想 (20)
- 1007. 素数对猜想 (20)
- 1007. 素数对猜想 (20)
- 1007. 素数对猜想 (20)
- 1007. 素数对猜想 (20)
- 1007. 素数对猜想 (20)
- 1007. 素数对猜想 (20)
- 1007. 素数对猜想 (20)
- 1007. 素数对猜想 (20)
- 1007. 素数对猜想 (20)
- 1007. 素数对猜想 (20)
- 1007. 素数对猜想 (20)
- 1007. 素数对猜想 (20)
- 1007. 素数对猜想 (20)
- 1007. 素数对猜想 (20)
- 1007. 素数对猜想 (20)
- 1007. 素数对猜想 (20)
- 前后缀和积
- 人生警醒
- 控制循环结构
- Dubbo源代码实现六:线程池模型与提供者
- SDUT-3442 爬山
- 1007. 素数对猜想 (20)
- 玲珑学院 1132
- python中的pillow处理
- 1002. A+B for Polynomials (25)
- LINUX 系统 : JDK 的安装
- zipline量化平台----本地化(上)
- Cent OS一键安装ShadowSocks
- 漫步数理统计三十二——中心极限定理
- windows下txt文件导入mysql出现:ERROR 1300 (HY000): Invalid utf8 character string: ''