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

    Description

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

    Input

    每行包含一个正的偶数,其值不会超过10000,个数不会超过500

    Output

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

    Sample Input

    30

    26

    Sample Output

    3

    2

     写一个判断是素数的函数,在主函数中判断a-i与i是否都为素数即可。i的最大值为n/2,且a-i!=i.

    #include <iostream>

    #include <cstdio>

    #include <cmath>

    #include <algorithm>

    using namespace std;

    int prime(int n)

    {       int i;   

      double t;    

    if(n%2!=0||n==2)    

    {     if(n==2)            

    return 1;        

    else       

      {          

       t=sqrt(n);           

      for(i=3; i<=t; i+=2)              

       if(n%i==0)                    

    break;           

      if(i>sqrt(n))               

      return 1;            

    else                

    return 0;       

      }    

    }

        else        

    return 0; }

    int main()

    {   

    int a;   

    while(cin>>a)  

      {       int sum=0,i;     

      for(i=2;i<=a/2;i++)    

       {           if(i!=a-i)        

       {               if(prime(i)&&prime(a-i)) sum++;           }      

    }       cout<<sum<<endl;    }   

    return 0; }

  • 相关阅读:
    机器学习之KNN算法学习笔记
    机器学习之决策树算法学习笔记
    RNN神经网络
    深度学习笔记-Tensorflow(一)
    CNN卷积神经网络-tensorflow
    个人喜欢的网址
    CSP2020游记
    题解 GDFZOJ 2020普转提十连测day5
    讲义 GDFZOJ 【38】 动态规划基础3
    题解 GDFZOJ 【2314】 东风谷早苗
  • 原文地址:https://www.cnblogs.com/famousli/p/3879904.html
Copyright © 2011-2022 走看看