美文网首页
PTA 中国大学MOOC-陈越、何钦铭-数据结构-起步能力自测题

PTA 中国大学MOOC-陈越、何钦铭-数据结构-起步能力自测题

作者: HFun2017 | 来源:发表于2018-10-18 22:58 被阅读0次

时间复杂度为O(n^2),判断素数只用判断到sqrt(n)这样可以把运行时间缩短好几倍

#include <stdio.h>
#include <math.h>
int isPrime(int num);
int main(void){
    int n,i,counter;
    scanf("%d",&n);
    int a[n];
    //给a[]初始化
    for(i=0;i<n;i++){
        a[i] = 0;
    }
    for (i=2;i<n+1;i++){
        if(isPrime(i)) a[i-1]=1;
    }
    counter=0;
    for(i=2;i<n;i++){
        if(a[i]&&a[i-2]) counter+=1;
    }
    printf("%d\n",counter);
}
//用来判断是不是质数
int isPrime(int num){
    int i,r;
    r=1;
    for(i=2;i<=sqrt(num);i++){
        if(num%i==0) {
            r = 0;
            break;
            }
    }
    return r;
}

相关文章

网友评论

      本文标题:PTA 中国大学MOOC-陈越、何钦铭-数据结构-起步能力自测题

      本文链接:https://www.haomeiwen.com/subject/aoxezftx.html