zoukankan      html  css  js  c++  java
  • Hdu 2098分拆素数和

    分拆素数和

    Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)
    Total Submission(s): 39509    Accepted Submission(s): 17293

    Problem Description

    把一个偶数拆成两个不同素数的和,有几种拆法呢?

    Input

    输入包含一些正的偶数,其值不会超过10000,个数不会超过500,若遇0,则结束。

    Output

    对应每个偶数,输出其拆成不同素数的个数,每个结果占一行。

    Sample Input

    30

    26

    0

    Sample Output

    3

    2

    #include<stdio.h>  
    #include<math.h>
    bool shu(int x)                //对传统素数判断做了优化      
    {  
            if(x==2)  
            return 1;  
            if(x%2==0)return 0;  
         for(int i=3;i<=sqrt((double)x);i+=2)  
            if(x%i==0)return 0;   
            return 1;  
        }       
    int main()  
        {  
            int n;  
            while(scanf("%d",&n),n)  
            {     
            int d=0;  
                for(int i=2;i<=n/2;i++)  
                {  
                    if(i!=(n-i))  
                    if(shu(i)&&shu(n-i))  
                    d++;  
                }  
              printf("%d
    ",d);
            }     
            return 0;  
        }  
    

      

  • 相关阅读:
    团队冲刺--第二阶段(七)
    对搜狗输入法的评价
    团队冲刺--第二阶段(六)
    课堂练习-找水王
    基础
    基础
    基础
    基础
    基础
    基础
  • 原文地址:https://www.cnblogs.com/zhangliu/p/7063196.html
Copyright © 2011-2022 走看看