每日一题!我来了!_(•̀ω•́ 」∠)_

目录

前言介绍:

一.思路整理:

二.代码实现:

1.质数判断:

2.主函数部分:

3.函数定义及功能实现:

 (1).找出最小子质数:

 (2).取差值并判断差值是否为质数:

 (3).循环的结束/继续,与函数的返回:

总结(结语):


前言介绍:

今天带来一道小练习是著名的哥德巴赫猜想(偶数猜想部分),那么,在开始之前,就先为大家简单介绍一下,何为哥德巴赫猜想。(本题出自洛谷)

哥德巴赫猜想时著名德国数学家哥德巴赫于1742年提出的一种猜想,它的主题分为大致两个方向,奇数猜想和偶数猜想,而今天我们要实现的就是偶数猜想部分,对于偶数猜想部分,它的内容是,对于任意一个大于等于4的偶数,都一定是两个质数的和,而本题实现的就是在此基础上,找出子质数最小的一种情况并打印,那么,了解过后就让我们进入正题吧。

一.思路整理:

我们知道,质数是从2开始的,因数只有1和本身的数,那么,对于任意一个大于等于4的偶数,他的拆分情况可能有很多种,所以,理列出每种情况并比较这种想法无异于大海捞针,所以,我们不妨换种思路来看。

既然,他要我们列出含最小子质数情况,而数字也是从小变大的,所以,我们可以让每个质数,从小到大被这个偶数减去,并得到他们的差,而,题目要求必须两个子数都为质数,所以,此时,我们只需要对得到的差进行判断即可,如果差也为质数,那就直接打印即可,如果不是,那就继续上述循环即可,那么大致的思路有了,接下来,就是完整的代码过程了。

二.代码实现:

1.质数判断:

 以上就是一个简单的质数判断方法,这里面我们引用了一个函数叫开平方函数也就是sqrt函数,他的功能就是对一个实数进行开平方,质数因数只有一和本身,所以,我们令i从2开始,但为什么要小于n的开平方呢?因为,对于任何一个非质数数字,我们总能在小于它开平方的数中,找到他的因数,而对于质数这个情况是不成立的,故而,我们只需要让i<=n的开平方即可。(温馨提示:使用sqrt函数需包含<math.h>这个数学头文件。

2.主函数部分:

这部分没有什么细节问题,所以,我们接下来重点看自定义函数部分 。

3.函数定义及功能实现:

 (1).找出最小子质数:

 (2).取差值并判断差值是否为质数:

 (3).循环的结束/继续,与函数的返回:

总结(结语):

以上就是今日份小题的代码实现,此题重点在于如何获取最小子质数和质数判断两个部分,那么,如果有不足之处和更好的方法还请各位多多指教!(每日一题不只是单纯的一篇博客,更重要的是其中的复习回顾和思路再整理,所以,如果各位喜欢还请多支持一下,感谢!)

 

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值