zoukankan      html  css  js  c++  java
  • hdu2098分拆素数和(素数+暴力)

    分拆素数和

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


    Problem Description
    把一个偶数拆成两个不同素数的和,有几种拆法呢?
     
    Input
    输入包含一些正的偶数,其值不会超过10000,个数不会超过500,若遇0,则结束。
     
    Output
    对应每个偶数,输出其拆成不同素数的个数,每个结果占一行。
     
    Sample Input
    30
    26
    0
     
    Sample Output
    3
    2

    题意:给出一个偶数,问把这个偶数拆成两个不同素数相加和,有多少种方法。

    题解:把偶数前面的素数都算出来保存在数组里,之后每种可能都试一下。

     1 #include<bits/stdc++.h>
     2 using namespace std;
     3 int n;
     4 int a[5500];
     5 int num;
     6 int isPrime(int n)
     7 {    //返回1表示判断为质数,0为非质数,在此没有进行输入异常检测
     8     double n_sqrt;
     9     if(n==2 || n==3) return 1;
    10     if(n%6!=1 && n%6!=5) return 0;
    11     n_sqrt=floor(sqrt((double)n));
    12     for(int i=5;i<=n_sqrt;i+=6)
    13     {
    14         if(n%(i)==0 | n%(i+2)==0) return 0;
    15     }
    16         return 1;
    17 } 
    18 void prime()
    19 {
    20     num=0;
    21     for(int i=2;i<=n;i++)
    22     {
    23         if(isPrime(i))
    24         {
    25             a[num++]=i;
    26         }
    27     }
    28 }
    29 int main()
    30 {
    31     
    32     while(~scanf("%d",&n),n)
    33     {
    34         memset(a,0,sizeof(a));
    35         prime();int ans=0;
    36         for(int i=0;i<num;i++)
    37         {
    38             for(int j=i+1;j<num;j++)
    39             {
    40                 if(a[i]+a[j]==n)
    41                 {
    42                     //printf("%d %d
    ",a[i],a[j]);
    43                     ans++;
    44                 }
    45             }
    46         }
    47         printf("%d
    ",ans);
    48     }
    49     return 0;
    50 } 
  • 相关阅读:
    设计一个字符串类,并将字符串处理函数的内容进行封装
    C++字符串处理函数【自写】
    文件共享服务器nfs搭建过程
    svn服务器的搭建过程 主要为服务端
    uwsgi和wsgi
    熟悉了下HTTP协议
    ModelForm views.py
    隐藏tomcat nginx版本信息
    csrf
    开发模式
  • 原文地址:https://www.cnblogs.com/fqfzs/p/9900718.html
Copyright © 2011-2022 走看看