哥德巴赫猜想算法实现
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
【实验目的】
理解并熟悉哥德巴赫猜想算法的原理,提高学生的实践能力。
【实验内容】
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace _615684
{
class Program
{
static bool IsPrimeNumber(int intNum)
{
bool blFlag=true;
if (intNum ==1 || intNum ==2)
blFlag =true;
else
{
int sqr =Convert.ToInt32 (Math.Sqrt(intNum)); for (int i =sqr; i>2; i--)
{
if (intNum % i ==0)
{
blFlag =false;
}
}
}
return blFlag ;
}
static bool ISGDBHArith(int intNum)
{
bool blflag= false;
if (intNum %2 ==0 && intNum >6)
{
for (int i=1; i<= intNum / 2; i++)
{
bool bl1 =IsPrimeNumber (i);
bool bl2 =IsPrimeNumber (intNum -i);
if (bl1 & bl2)
{
Console.WriteLine("{0}={1}+{2}",intNum ,i ,intNum -i);
blflag =true;
}
}
}
return blflag;
}
static void Main(string[] args)
{
Console.WriteLine("输入一个大于6的偶数:");
int intNum =Convert.ToInt32(Console.ReadLine());
bool blflag=ISGDBHArith(intNum);
if (blflag)
{
Console.WriteLine("{0}能写成两个素数的和,所以其符合哥德巴赫猜想。",intNum);
}
else
{
Console.WriteLine("猜想错误。");
}
Console.ReadLine();
}
}
}
【实验步骤】
1.打开visual studio2010程序。
2.选择“文件”/“新建”/“项目”命令。
3.选择“控制台程序”选项并将其命名,然后单击“确定”按钮,创建一个控
制台应用程序。
4.在程序中,首先自定义一个返回值为bool类型的isprimenumber方法,用
来判断一个数是否是素数。
5.自定义一个返回值为bool类型的isgdbharith方法,用来判断是否符合哥
德巴赫猜想。
6.在main方法中,首先提示输入信息,然后定义一个int类型的变量,用来
记录输入的数字,之后调用自定义方法isgdbharith判断输入的数字是否符合哥德巴赫猜想,并输出相应的提示信息。
7.结果如下图所示:
【实验总结】
在科技高度发展的今天,计算机在人们之中的作用越来越突出。而c#语言作为一种计算机的语言,我们学习它,有助于我们更好的了解计算机,与计算机进行交流,因此,c#语言的学习对我们尤其重要。
上机实验是学习程序设计语言必不可少的实践环节,特别是c语言灵活、简洁,更需要通过编程的实践来真正掌握它。对于程序设计语言的学习目的,可以概括为学习语法规定、掌握程序设计方法、提高程序开发能力,这些都必须通过充分的实际上机操作才能完成。