HDU 2098 分拆素数和

    xiaoxiao2025-07-09  3

    分拆素数和

    Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 33690    Accepted Submission(s): 14672 Problem Description 把一个偶数拆成两个不同素数的和,有几种拆法呢?   Input 输入包含一些正的偶数,其值不会超过10000,个数不会超过500,若遇0,则结束。   Output 对应每个偶数,输出其拆成不同素数的个数,每个结果占一行。   Sample Input 30 26 0   Sample Output 3 2   Source 2007省赛集训队练习赛(2)   Recommend lcy   |   We have carefully selected several similar problems for you:   1262  1431  2097  2096  2084   

    #include <iostream> #include <cstdio> #include <algorithm> #include <set> #include <string> #include <cstring> #include <sstream> #include <vector> #include <map> #include <cmath> using namespace std; int is_prime(int n) { if(n<2) return 0; if(n==2) return 1; if(n%2==0) return 0; for(int i=3;i*i<=n;i+=2) { if(n%i==0) return 0; } return 1; } int main() { int a; while(cin>>a&&a) { int cnt=0; for(int i=2;i<=a/2-1;i++) { if(is_prime(i)&&is_prime(a-i)) cnt++; } cout<<cnt<<endl; } return 0; }

    转载请注明原文地址: https://ju.6miu.com/read-1300523.html
    最新回复(0)