zoukankan      html  css  js  c++  java
  • HDOJ 2098 分拆素数和(筛选法求素数)

    分拆素数和

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


    Problem Description
    把一个偶数拆成两个不同素数的和,有几种拆法呢?
     
    Input
    输入包含一些正的偶数,其值不会超过10000,个数不会超过500,若遇0,则结束。
     
    Output
    对应每个偶数,输出其拆成不同素数的个数,每个结果占一行。
     
    Sample Input
    30 26 0
     
    Sample Output
    3 2
    View Code
     1  #include<stdio.h>
     2 #include<string.h>
     3 int main()
     4 {
     5     int  f[10010];
     6     int i, j, a,count;
     7     memset(f,0,sizeof(f));
     8     for(i = 2; i <= 10005/2; i++)
     9     {
    10         if(f[i] == 0)
    11         {
    12             for(j = 2*i; j <= 10005; j+=i)
    13             f[j]=1;
    14         }
    15     }
    16     while(scanf("%d",&a) != EOF)
    17     {
    18         if(a == 0)
    19         break;
    20         count = 0;
    21         for(i=a/2; i>=2 ; i--)
    22         {
    23             if(f[i] == 0 && f[a-i] == 0 && i != a-i)
    24             {
    25                 count++;
    26             }
    27         }
    28         printf("%d\n",count);
    29     }
    30     return 0;
    31 }
  • 相关阅读:
    团队项目总结
    第二阶段团队绩效评分
    “转赚”------使用说明
    团队站立会议14
    团队站立会议13
    团队站立会议12
    团队站立会议11
    团队站立会议10
    LocalDate 今天是一年中的第几天?
    MAC系统Java环境搭建
  • 原文地址:https://www.cnblogs.com/wanglin2011/p/2613561.html
Copyright © 2011-2022 走看看