#P2909. Goldbach's Conjecture

    ID: 1910 传统题 1000ms 256MiB 尝试: 1 已通过: 1 难度: 10 上传者: 标签>其他数论素数判定Svenskt Mästerskap i Programmering/Norgesmesterskapet 2002

Goldbach's Conjecture

题目描述

对于任何大于或等于44的偶数nn,都存在至少一对素数p1p_1p2p_2,使得:

n=p1+p2n = p_1 + p_2

这一猜想至今尚未被证明或推翻。尚不确定该猜想是否成立。然而,对于给定的偶数,我们可以找到满足条件的素数对(如果存在)。本题要求编写一个程序,对于给定的偶数,统计满足上述猜想条件的所有素数对的数量。

输入给出一系列偶数。可能有多个这样的数字。对于每个数字,程序应输出满足上述条件的素数对的数量。注意,我们只关心本质上不同的素数对,因此不应将(p1,p2)(p_1, p_2)(p2,p1)(p_2, p_1)视为两个不同的组合分别计数。

输入格式

每个输入行给出一个整数。可以假设每个整数都是偶数,且满足4n<2154 \leq n < 2^{15}。输入以数字00结束。

输出格式

每个输出行应包含一个整数。输出中不应包含其他字符。

输入样例 1

6
10
12
0

输出样例 1

1
2
1

说明

  1. 对于n=6n=6,满足条件的素数对为(3,3)(3, 3),共11对。
  2. 对于n=10n=10,满足条件的素数对有(3,7)(3, 7)(5,5)(5, 5),共22对。
  3. 对于n=12n=12,满足条件的素数对为(5,7)(5, 7),共11对。

注意:(3,7)(3, 7)(7,3)(7, 3)视为同一对,只计数一次。