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 }
  • 相关阅读:
    设计模式 --建造者模式
    HIVE
    Sqoop Mysql导入Hive完整命令参数解析
    Centos7 安装CDH6.3.2 集群
    sqlalchemy 批量插入
    前后端分离
    后台管理模板
    Springboot
    汇编基础
    百万点数据矢量切片实时聚合展示
  • 原文地址:https://www.cnblogs.com/wanglin2011/p/2613561.html
Copyright © 2011-2022 走看看