zoukankan      html  css  js  c++  java
  • 题目1040:Prime Number===========Time Limit Exceed

    请注意一下的WA和AC之间只有isprime函数存在区别:如何缩小运行的时间,,

    the WA:

    #include<stdio.h>
    #include<cmath>
    
    int isprime(int n);
    int main()
    {
       int m,j,a[10001],k=1;
         a[0]=2;
       for (j=3;j<=104729;j+=2)
         if (isprime(j)==1)
             a[k++]=j;
       while(scanf("%d",&m)!=EOF)
       {
              printf("%d
    ",a[m-1]);  
       }  
       return 0;    
    }
    int isprime(int n)  //判断素数的方法 
    {
        int i=0;
        int k=(int)sqrt(n);
        for(i=2;i<=k;k+2555)
         if (n%i==0) break;
         if (i>k) return 1;
         else return 0; 
    }

    the AC:

    #include<iostream>
    #include<cmath>
    using namespace std;
    int isPrime(int n);
    int main()
    {
        int i,j,flag,s=1,k,A[10000];
        A[0]=2;
        for(i=3;i<=104729;i+=2)//求出前10000个素数
        {
            if(isPrime(i))
                A[s++]=i;
        }
        while(cin>>k)//输出第k个素数
        {
            cout<<A[k-1]<<endl;
        }
        return 0;
    }
    int isPrime(int n)//判断素数,从3开始,减少不少计算量
    {
        int flag=1;
        int k=(int)sqrt(n*1.0)+1;
        if(n%2==0)flag=0;
        for(int i=3;i<=k;i+=2)
        {
            if(n%i==0)
                flag=0;
        }
        return flag;
    }
  • 相关阅读:
    hdu 1715
    hdu 1370
    hdu 2370
    hdu 1393
    hdu 1564
    hdu 1720
    hdu 1342
    SQL技巧(sp_procedure_params_rowset,SQL中设置数据值为null)
    Control ‘dg’ of type 'GridView' must be placed inside a form tag with runat=server
    GridView事件中获取rowIndex值
  • 原文地址:https://www.cnblogs.com/jianrenguo/p/6525142.html
Copyright © 2011-2022 走看看