zoukankan      html  css  js  c++  java
  • GDUFE ACM-1004

    题目:http://acm.gdufe.edu.cn/Problem/read/id/1004

    再来一个数学题--分拆素数和

    Time Limit: 2000/1000ms (Java/Others)

    Problem Description:

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

    Input:

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

    Output:

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

    Sample Input:

    20
    36
    0

    Sample Output:

    2
    4


    思路:由2开始一个个数的试,如果到根号a都没有能都整除a的数字,那么a就是素数

    难度:比较简单吧,书上有思路,有例题。

    代码:
     1 #include<stdio.h>
     2 #include<math.h>
     3 int main()
     4 {
     5     int a;
     6     while(scanf("%d",&a)!=EOF)
     7     {
     8         int ch(int);
     9         int flag,i,j;
    10         int b=0;
    11         if(a==0)
    12             break;
    13         else
    14         {
    15             for(i=2,j=a-2;i<a/2;i++,j--)
    16             {
    17                 flag=ch(i);
    18                 if(flag==0)
    19                 {
    20                     flag=ch(j);
    21                     if(flag==0)
    22                        b=b+1;
    23                 }
    24             }
    25             printf("%d
    ",b);
    26         }
    27     }
    28     return 0;
    29 }
    30 
    31 int ch(int a)
    32 {
    33     int flag=0;
    34     int j;
    35     for(j=2;j<=sqrt(a);j++)
    36     {
    37         if(a%j==0)
    38             {
    39                 flag=1;break;
    40             }
    41     }
    42     return flag;
    43 }
  • 相关阅读:
    实验12——java取整、猜数和猜拳
    实验11——java线程模拟卖票
    实验10—— java读取歌词文件内容动画输出
    实验09——java基于TCP实现客户端与服务端通信
    JavaSE第十四天
    javaSE第十一天
    JavaSE第十天
    JavaSE第十天
    JavaSE第九天
    JavaSE第八天
  • 原文地址:https://www.cnblogs.com/ruo786828164/p/5970907.html
Copyright © 2011-2022 走看看