1007. 素数对猜想(PAT Basic)

来源:互联网 发布:4g网络摄像头哪家好 编辑:程序博客网 时间:2024/05/15 12:10

判断素数的算法有很多,这里只是采用了最直接的一种,较为高效的方法叫做筛选法。

关于判断素数的算法这里进行了详细的讨论:http://blog.csdn.net/liukehua123/article/details/5482854。百度也能得到其他很多答案。


#include <stdio.h>#include <math.h>#define TRUE  1#define FALSE 0int findTwinPrime(int N);int isPrime(int num);int main(){    int N, counter;    scanf("%d",&N);        counter = findTwinPrime( N );        printf("%d\n", counter);        return 0;}int findTwinPrime(int N){    int num;    int counter = 0; // record the number of twin prime    int previousPrime = 2; // record the previous prime        if( N < 5 )        return counter;// counter = 0;    for (num = 3; num <= N; num += 2) {        if(isPrime(num) && num - previousPrime == 2){            counter++;            previousPrime = num;        }        else if (isPrime(num))            previousPrime = num;    }        return counter;}int isPrime(int num){    if(num == 2)        return TRUE;    if( num%2 == 0 )        return FALSE;        for(int i = 3; i <= sqrt(num)+1; i += 2)        if(num%i == 0)            return FALSE;        return TRUE;}

0 0
原创粉丝点击