给定一个正整数,编写程序计算有多少对质数的和等于输入的这个正整数,并输出结果。输入值小于1000。
如,输入为10, 程序应该输出结果为2。(共有两对质数的和为10,分别为(5,5),(3,7))
C#版
using System;
using System.Collections.Generic;
using System.Linq;
class aaa
{
static void Main(string[] args)
{
//筛选法求素数
int[] sushu = new int[1000];
for (int i = 2; i < 1000; i++)
{
if (sushu[i] == 0)
{
for (int j = 2; i*j < 1000; j++)
{
sushu [i*j]= 1;
}
}
}
int a=int.Parse( Console.ReadLine());
int res = 0;
for (int i = 2; i <= a / 2; ++i)
{
if (sushu[i] == 0 && sushu[a - i] == 0)
res++;
}
Console.WriteLine(res);
Console.ReadKey();
}
}