1.验证歌德巴赫猜想:2000以内的正偶数(不包括2)都能够分解为两个质数之和。
算法思路:将整数分解为两个整数,然后判断它们是否均为质数。若是,则满足题意并输出;否则重新进行分解和判断。其中,判断一个整数是否为质数采用函数实现。每个偶数只要得到一种分解就停止,不必要求出该偶数的所有质数和组合
2.每个偶数表达成形如:4=2+2的形式,请每行输出4个偶数及其分解结果。
(另附一些无聊要求:
单个表达式用以下格式字符串输出:
“%4d=%4d+%4d”
每行输出4个,每个表达式的后面要输出一个空格与后面的表达式进行分割,但本行的第4个表达式后不能有空格,要直接换行。
注意:最后一行输出有可能不足4个表达式,则该行最后一个表达式的后面仍然要输出一个空格。)
#include<stdio.h>
#include<math.h>
int panduanzhishu(int x)
{
int k, y, i, p;
k = (int)sqrt(x);
if (x == 1)
{
p = 0;
}
else
{
for (i = 2; i <= k; i++)
{
y = x % i;
if (y == 0)
{
p