算法学习之旅,初级篇(18)--哥德巴赫猜想
来源:互联网 发布:json对象转化成数组 编辑:程序博客网 时间:2024/05/22 15:53
介绍
哥德巴赫猜想是指任何一个大于5的偶数等于两个素数之和。给你一个整数,请验证哥德巴赫猜想。
分析
枚举6到n的数,可以被两个素数表示。
代码
#include "stdio.h"
#include "math.h"
#include<stdlib.h>
bool IsPrime(int x)
{
int t;
for(t=2;t<x;t++)
if(x%t == 0)
return false;
return true;
}
int main()
{
int i,m_num,n;
int k=0;
printf("请输入整数n:\n");
scanf("%d",&n);
for(m_num=6;m_num<=n;m_num=m_num+2)
for(i=3;i<=m_num/2;i=i+2)
if(IsPrime(i)&&IsPrime(m_num-i))
{
printf("%d=%d+%d ",m_num,i,m_num-i);
k++;
if(k%5==0)
printf("\n");
}
system("pause");
return 0;
}
#include "math.h"
#include<stdlib.h>
bool IsPrime(int x)
{
int t;
for(t=2;t<x;t++)
if(x%t == 0)
return false;
return true;
}
int main()
{
int i,m_num,n;
int k=0;
printf("请输入整数n:\n");
scanf("%d",&n);
for(m_num=6;m_num<=n;m_num=m_num+2)
for(i=3;i<=m_num/2;i=i+2)
if(IsPrime(i)&&IsPrime(m_num-i))
{
printf("%d=%d+%d ",m_num,i,m_num-i);
k++;
if(k%5==0)
printf("\n");
}
system("pause");
return 0;
}
遇到的问题
并不算是证明哥德巴赫猜想,只是说一个大于6的偶数可以被两个素数表示的意思吧!
阅读全文
0 0
- 算法学习之旅,初级篇(18)--哥德巴赫猜想
- 经典算法之哥德巴赫猜想
- 算法之每日一题:哥德巴赫猜想
- 哥德巴赫猜想(七)
- 【Java学习之代码学习】 Prog07_哥德巴赫猜想
- 汇编之简单哥德巴赫猜想
- 哥德巴赫猜想之研究路程
- 算法学习之旅,初级篇(1)--大小写转换
- 算法学习之旅,初级篇(2)--水仙花数
- 算法学习之旅,初级篇(4)--哈密尔顿距离
- 算法学习之旅,初级篇(5)--数码平方和
- 算法学习之旅,初级篇(6)--统计字符
- 算法学习之旅,初级篇(7)--数字塔
- 算法学习之旅,初级篇(9)--字符串逆序
- 算法学习之旅,初级篇(10)--回文字符串
- 算法学习之旅,初级篇(12)--最小公倍数
- 算法学习之旅,初级篇(13)--素数判定
- 算法学习之旅,初级篇(15)--分数加减法
- The Suspects
- 线程池及适用场合
- 每个程序员都会的 35 个 jQuery 小技巧
- redis
- 【原创】【有趣无用】一句话算法
- 算法学习之旅,初级篇(18)--哥德巴赫猜想
- 微信备忘录
- 树形结构数据库设计
- BAT脚本编写教程简单入门篇
- 坦然面对:应对前端疲劳
- memset的用法
- UE4蓝图编程学习 前期心得
- 正则拆分url
- 数据结构实验之图论四:迷宫探索