验证哥德巴赫猜想

来源:互联网 发布:质量统计分析软件 编辑:程序博客网 时间:2024/05/18 03:53
验证 哥德巴赫猜想(两种)(A)任一大于2的偶数(即大于等于4的偶数),都可表示成两个素数之和。#define _CRT_SECURE_NO_WARNINGS#include<stdio.h>#include<stdlib.h>int iszhi(int number){if (number <= 1){return 0;}else if (number == 2 || number == 3){return 1;}else{int flag = 1;for (int i = 2; i < number - 1; i++){if (number%i == 0){flag = 0;break;}}return flag;}}int isou(int number){int flag = 0;if (number % 2 == 0){flag = 1;}return flag;}void main1(){puts("请输入一个大于等于4的偶数:");int num;scanf("%d", &num);if (num >= 4 && isou(num)){for (int i = 2; i <= num / 2; i++)//查询次数可以减半{if (iszhi(i) && iszhi(num - i)){printf("%d,%d\n", i, num - i);//break;//跳出当前所在循环}}}else{printf("输入的数不符合题目要求!!\n");}system("pause");}(B)大于等于7的奇数都可以表示成三个质数之和int isji(int number){if (number % 2 == 1)return 1;elsereturn 0;}void main(){puts("请输入一个大于等于7的奇数");int num;scanf("%d", &num);if (isji(num) && num >= 7){for (int i = 2; i < num - 1; i++)//简单实现,没有考虑优化(大于2的偶数直接跳过等等){for (int j = i + 1; j < num; j++){if (iszhi(i) && iszhi(j) && iszhi(num - i - j)){printf("%d,%d,%d\n", i, j, num - i - j);//break;//break 跳出当前循环}}}}elseputs("输入的数字不符合题目要求!!!");system("pause");}

原创粉丝点击