那位大佬看看这个 哥德巴赫猜想代码哪不对,运行不起来

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
//哥德巴赫猜想 : 任何一个大于2的偶数,都可以被分解为两个质数相同
#region 提示并获取用户输入的偶数,保存到变量number中
int number;
while (true)
{
Console.Write("请输入一个大于2的偶数;");
number = int.Parse(Console.ReadLine());
if (number <= 2 || number % 2 != 0)
{
Console.Write("输入有误,按回车键后重新输入");
Console.ReadLine();
Console.Clear();
}
else
{
break;
}
#endregion
#region 分解number,找到两个质数,它们的和等于number,把它们分别保存到变量i和j中
//1: 2-number - 2
int i,j = 0;
for (i = 2; i < number - 1; i++)
{
j = number - i;
#region 先判断i是不是质数,如果不是,则进入下一次循环
bool isFind = false;
for (int k = 2; k < i; k++)
{
if (i % k == 0)
{
isFind = true;
break;
}
}
if (isFind)
{
//i不是质数
continue;
}
else
{
//i是质数
}

#endregion
#region 继续判断j是不是质数,如果是,i和j就是要找的数据,结束循环
isFind = false;
for (int k = 0; k < j; k++)
{
if (j % k == 0)
{
isFind = true;
break;
}
}
if (isFind)
{
//j不是质数
}
else
{
//j是质数
break;
}

#endregion
}

#endregion
#region 输出结果
string result = number + "=" + i + "+" + j;
Console.WriteLine(result);
#endregion
Console.ReadLine();
}
}
}
}

原文地址:https://www.cnblogs.com/yangkaiming/p/8747970.html

时间: 2024-08-30 16:13:04

那位大佬看看这个 哥德巴赫猜想代码哪不对,运行不起来的相关文章

哥德巴赫猜想的代码实现和分析

什么是哥德巴赫猜想?   斐波拉契数列是指任何一个大于2的偶数,都可以被分解成两个质数相加. 哥德巴赫猜想实现代码的分析.   用户输入一个大于二的偶数,分解成两个质数相加.要想实现这个功能,我们可以分成三个模块去书写代码:       1.提示并获取用户输入数,保存到变量 number中.       2.分解number,找到两个质数,和等于number ,分别保存在i和j中.       3.输出结果.   这样的话,我们只需要实现每个模块的功能,整个代码就能编写完成. 代码的编写 //提

循环-04. 验证“哥德巴赫猜想”

循环-04. 验证“哥德巴赫猜想”(20) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 徐镜春(浙江大学) 数学领域著名的“哥德巴赫猜想”的大致意思是:任何一个大于2的偶数总能表示为两个素数之和.比如:24=5+19,其中5和19都是素数.本实验的任务是设计一个程序,验证20亿以内的偶数都可以分解成两个素数之和. 输入格式: 输入在一行中给出一个(2, 2 000 000 000]范围内的偶数N. 输出格式: 在一行中按照格式

uva 10168 Summation of Four Primes(数论-哥德巴赫猜想)

Problem A Summation of Four Primes Input: standard input Output: standard output Time Limit: 4 seconds Euler proved in one of his classic theorems that prime numbers are infinite in number. But can every number be expressed as a summation of four pos

哥德巴赫猜想验证

1.问题描述 大于等于6以上的偶数总有 = 2个质数之和: 例:12 = 3 + 9 X 12 = 5 + 7 V (哥德巴赫猜想成立): 基本分析 2.基础算法代码实现 #include<stdio.h> typedef unsigned char boolean; #define TRUE    1 #define    FALSE    0 boolean isPrime(int n); boolean Gguess(int userNumber); boolean Gguess(int

CF735D Taxes 哥德巴赫猜想\判定素数 \进一步猜想

http://codeforces.com/problemset/problem/735/D 题意是..一个数n的贡献是它的最大的因子,这个因子不能等于它本身 然后呢..现在我们可以将n拆成任意个数的整数相加,每个数最小只能拆成2, 单独计算每个数的贡献,然后加起来使他的贡献最小..那么我们肯定是拆成质数最赚 因为质数对答案的贡献是1... 所以现在这个问题变成了把一个数拆成最少个数的质数 那么我们不知道最少能拆成多少个质数啊..我一开始想的是你每次找最接近这个数的质数..一直找下去应该是可以的

素数分组 哥德巴赫猜想

题目描述 最少把1~n 分成多少组,可以使得每组的数的和为素数 输入 有多组数据第一行是一个数T,表示数据组数每组数据共1 行,为正整数n 输出 有T 行,每行为该情况的最少组数,无法分组时,输出-1 样例输入 1 2 样例输出 1 哥德巴赫猜想裸题 首先如果sum(n)是偶数,即两个素数之和,writeln(2) 如果sum(n)是奇数,那么分类讨论,如果sum(n)是质数,1即可 如果不是素数 check(sum(n)-2),如果是素数,就是3了 关于证明: 我们首先把1~n全部加起来,那么

洛谷-哥德巴赫猜想(升级版)-BOSS战-入门综合练习1

题目背景 Background 1742年6月7日哥德巴赫写信给当时的大数学家欧拉,正式提出了以下的猜想:任何一个大于9的奇数都可以表示成3个质数之和.质数是指除了1和本身之外没有其他约数的数,如2和11都是质数,而6不是质数,因为6除了约数1和6之外还有约数2和3.需要特别说明的是1不是质数. 这就是哥德巴赫猜想.欧拉在回信中说,他相信这个猜想是正确的,但他不能证明. 从此,这道数学难题引起了几乎所有数学家的注意.哥德巴赫猜想由此成为数学皇冠上一颗可望不可及的“明珠”. 题目描述 Descri

哥德巴赫猜想

程序地址:http://www.cheemoedu.com/exercise/26 问题描述: 众所周知,哥德巴赫猜想的证明是一个世界性的数学难题,至今未能完全解决.我国著名数学家陈景润为哥德巴赫猜想的证明作出过杰出的贡献.所谓哥德巴赫猜想是说任何一个大于2的偶数都能表示成为两个素数之和.编写程序,验证指定范围内哥德巴赫猜想的正确性,也就是近似证明哥德巴赫猜想. 我的代码: import math def prime(m):     count=0     for i in range(2,in

洛谷 P1579 哥德巴赫猜想(升级版)【筛素数/技巧性枚举/易错】

[链接]:https://www.luogu.org/problemnew/show/P1579 题目背景 1742年6月7日哥德巴赫写信给当时的大数学家欧拉,正式提出了以下的猜想:任何一个大于9的奇数都可以表示成3个质数之和.质数是指除了1和本身之外没有其他约数的数,如2和11都是质数,而6不是质数,因为6除了约数1和6之外还有约数2和3.需要特别说明的是1不是质数. 这就是哥德巴赫猜想.欧拉在回信中说,他相信这个猜想是正确的,但他不能证明. 从此,这道数学难题引起了几乎所有数学家的注意.哥德