当前位置: 代码迷 >> 综合 >> [数学][第二阶段-简单数学题][HDOJ-2098]分拆素数和
  详细解决方案

[数学][第二阶段-简单数学题][HDOJ-2098]分拆素数和

热度:99   发布时间:2023-12-08 00:01:03.0

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

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

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

Sample Input
  
   
30 26 0

Sample Output
  
   
3 2

import java.util.Scanner;public class Main {public static void main(String[] args) {// TODO Auto-generated method stubScanner in = new Scanner(System.in);int[] prime = new int[1230];prime[0]=1;prime[1]=2;boolean tag =true;int i,j,k;for(i=3,k=2;i<=10000;i++){tag =true;for(j=2;j<Math.sqrt(i)+1;j++)if(i%j==0){tag=false;break;}if(tag){prime[k]=i;k++;}}int n = in.nextInt();while(n!=0){int sum=0,count=0;for(i=1;prime[i]<n/2;i++){for(j=1;prime[j]<n&&j<1229;j++)if(prime[i]+prime[j]==n)sum++;}System.out.println(sum);n = in.nextInt();}}}