博客
关于我
习题5-4 使用函数求素数和 (20 分)
阅读量:217 次
发布时间:2019-02-28

本文共 1636 字,大约阅读时间需要 5 分钟。

判断素数的函数prime(p)和计算区间内素数和的函数PrimeSum(m, n)。素数即只能被1和自身整除的数。prime函数返回1当且仅当p为素数,否则返回0。PrimeSum函数返回区间内所有素数的和。

    素数判断与求和    

实现素数判断与求和的两个函数

函数定义

int prime(int p);

int PrimeSum(int m, int n);

prime函数:当输入p为素数时返回1,否则返回0。

PrimeSum函数:计算区间[m, n]内所有素数的和。

素数的定义

素数是指大于1的自然数,除了1和自身外,不能被其他自然数整除。

例如:2、3、5、7等等。注意:1不是素数,2是最小的素数。

实现思路

1. prime函数的实现逻辑:

- 当p小于2时,返回0。
- 当p等于2时,返回1。
- 对于大于2的数,检查是否能被2或其他奇数整除。
- 优化:跳过偶数,直接处理奇数,提高效率。 2. PrimeSum函数的实现逻辑:
- 遍历区间[m, n]中的每个数。
- 使用prime函数判断是否为素数。
- 累加所有素数的值,返回总和。

代码实现

            int prime(int p) {                if (p < 2) return 0;                if (p == 2) return 1;                if (p % 2 == 0) return 0;                for (int i = 3; i * i <= p; i += 2) {                    if (p % i == 0) return 0;                }                return 1;            }                        int PrimeSum(int m, int n) {                int sum = 0;                for (int p = m; p <= n; p++) {                    if (prime(p)) {                        sum += p;                    }                }                return sum;            }        

测试样例

输入:-1 10

输出:Sum of (2 3 5 7) = 17

另一个测试用例:输入2 2,输出2;输入3 5,输出8。

这个实现通过模拟人类思维过程,提供了一个清晰且易于理解的解决方案。函数prime通过检查2和奇数来判断素数,而PrimeSum函数则利用prime函数逐个检查区间内的每个数,累加素数的和。这种方法既简洁明了,又能高效地解决问题。

转载地址:http://bnii.baihongyu.com/

你可能感兴趣的文章
Python在Conda环境中,但在Windows虚拟环境中没有激活
查看>>
python系列【仅供参考】:python pip 错误 ModuleNotFoundError: No module named pip._internal 解决办法
查看>>
python图像条状状噪声,使用PYTHON PIL从验证码图像中删除背景嘈杂的线条
查看>>
Python图像处理:从内存加载jpeg
查看>>
python固定后缀(名物化词汇)词频统计:抽取+统计+可视化
查看>>
python商品评论数据采集与分析可视化系统 Flask框架 requests爬虫 NLP情感分析 毕业设计 源码
查看>>
python商品数据分析可视化系统(带爬虫)京东销售数据分析 计算机毕业设计 源码下载
查看>>
python商品库存管理系统 django框架 商品网站 MySQL数据库 源码下载 计算机毕业设计
查看>>
Python哪个版本最稳定好用2023.10.19
查看>>
Python和黑客技术的渊源
查看>>
Python和RF编写接口自动化
查看>>
python和js哪个难_【Python】记一次学习,Python 与 js 在实现闭包时的差异
查看>>
python和java哪个更值得学——来自知乎高赞回答
查看>>
python和c混合编程 github_在pycharm中使用git版本管理以及同步github的方法
查看>>
python命名空间更改_Python模块xml.etree.ElementTree自动修改xml命名空间键
查看>>
Python命名中尾随下划线有什么好处?
查看>>
Python启动脚本
查看>>
Python听写汇总结果
查看>>
python吊打Excel?屁!那是你不会用!
查看>>
Python合并两张图片 | 先叠透明度再合并 (附Demo)
查看>>