设为首页 加入收藏

TOP

用C语言来验证哥德巴赫猜想(定义的是int型)
2015-01-22 21:34:51 来源: 作者: 【 】 浏览:81
Tags:语言 验证 哥德 巴赫 猜想 定义 int

哥德巴赫猜想:

如果任意一个大于6的偶数都可以写成两个素数之和。就将其称为符合哥德巴赫猜想。

#include
  
   
#include
   
     /// 
     /// 判断一个数是否是素数 ///  /// 
    要判断的数 /// 
    
     如果是,返回true,否则,返回false
     static bool IsPrimeNumber(int intNum) { bool blFlag = true; //标识是否是素数 if (intNum == 1 || intNum == 2) //判断输入的数字是否是1或者2 blFlag = true; //为bool类型变量赋值 else { int sqr =(int)(sqrt((double)intNum)); //对要判断的数字进行开方运算 for (int i = sqr; i >= 2; i--) //从开方后的数进行循环 { if (intNum % i == 0) //对要判断的数字和指定数字进行求余运算 { blFlag = false; //如果余数为0,说明不是素数 } } } return blFlag; //返回bool型变量 } /// 
     /// 判断一个数是否符合哥德巴赫猜想 ///  /// 
    要判断的数 /// 
    
     如果符合,返回true,否则,返回false
     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); //判断i是否为素数 bool bl2 = IsPrimeNumber(intNum - i); //判断intNum-i是否为素数 if (bl1 & bl2) { //输出等式 printf("%d=%d+%d\n",intNum, i, intNum - i); blFlag = true; //break; //符合哥德巴赫猜想 } } } return blFlag; //返回bool型变量 } void main() { int a=0; printf("输入一个大于6的偶数:\n"); scanf_s("%d",&a,10); bool blFlag = ISGDBHArith(a); //判断是否符合哥德巴赫猜想 if (blFlag) { printf("%d能写成两个素数的和,所以其符合哥德巴赫猜想。",a); } getchar(); getchar(); } 
   
  


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇扎实学习C语言(二)结构和联合 下一篇c语言之良好的编程习惯(四)

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: