【PTA】 统计素数并求和
本题要求统计给定整数M和N区间内素数的个数并对它们求和。
这题的思路比较简单,题目最核心的点就是找素数,何为素数?
素数也叫质数,是指在大于1的自然数中,除了1和它本身以外不再有其他因数的自然数。
因此,可以定义一个函数来判断是否为素数,在主函数的循环中调用函数即可。
以下为代码:
#include<iostream>
#include<cmath> //头文件要用cmath(因为使用了sqrt函数)
using namespace std;
int prime(int k)
{if(k<=1) return 0; //当k=1时特判 for(int i=2;i<=sqrt(k);i++){if(k%i==0) return 0;}return 1;
}
int main()
{int m,n,cnt=0,sum=0; //赋初值 cin>>m>>n;for(int i=m;i<=n;i++){if(prime(i)) //函数调用 {cnt++;sum+=i;}}cout<<cnt<<" "<<sum<<endl;return 0;
}
需要注意几点:
1、math.h是C语言的头文件,C++兼容C,因此也可以用。cmath是标准C++头文件,使用时必须要写 using namespace std。
2、切记要考虑当k=1的情况(特殊判断)。
3、在函数中使用return 0或return false表示返回值为假的情况,用return 1或return true返回值为真的情况(return 0表示不符合,return 1表示符合)。
4、定义计数器时一定要赋初值为0。
5、另外,以后遇到跟判断素数有关的题目,直接套这个函数模板就OK啦!
【PTA】 统计素数并求和相关推荐
- 浙江大学 PTA 程序 第四部分 给定精度的简单交错序列部分和 数字游戏 e的近似值 最小值 统计素数并求和 奇数和 幂级数展开的部分和 分数序列前N项和 特殊a串数列求和 换硬币 水仙花数 最大公约
练习4-3 求给定精度的简单交错序列部分和 (15 分) 本题要求编写程序,计算序列部分和 1 - 1/4 + 1/7 - 1/10 + ... 直到最后一项的绝对值不大于给定精度eps. 输入格式: ...
- 练习4-11 统计素数并求和(20 分)
练习4-11 统计素数并求和(20 分) 本题要求统计给定整数M和N区间内素数的个数并对它们求和. 输入格式: 输入在一行中给出两个正整数M和N(1≤M≤N≤500). 输出格式: 在一行中顺序输出M ...
- 7-33 统计素数并求和(20 分)
7-33 统计素数并求和(20 分) 本题要求统计给定整数M和N区间内素数的个数并对它们求和. 输入格式: 输入在一行中给出两个正整数M和N(1≤M≤N≤500). 输出格式: 在一行中顺序输出M和N ...
- 统计素数并求和 / 求奇数和
练习4-11 统计素数并求和 (20分) 本题要求统计给定整数MM和NN区间内素数的个数并对它们求和. 输入格式: 输入在一行中给出两个正整数MM和NN(1\le M\le N\le 5001≤M ...
- 统计素数并求和(20分)
统计素数并求和 (20分) 本题要求统计给定整数M和N区间内素数的个数并对它们求和. 输入格式: 输入在一行中给出两个正整数M和N(1≤M≤N≤500). 输出格式: 在一行中顺序输出M和N区间内素数 ...
- ## python 统计素数并求和
python 统计素数并求和 M,N=map(int,input().split()) s = 0 c = 0 for i in range(M,N+1): for j in range(2,i): ...
- 实验4-1-5 统计素数并求和 (20 分)
实验4-1-5 统计素数并求和 (20 分) 本题要求统计给定整数M和N区间内素数的个数并对它们求和. 输入格式: 输入在一行中给出两个正整数M和N(1≤M≤N≤500). 输出格式: 在一行中顺序输 ...
- 统计素数并求和,C语言
统计素数并求和 统计给定整数M和N区间内素数的个数并对它们求和. 输入格式: 输入在一行中给出两个正整数M和N(1≤M≤N≤500). 输出格式: 在一行中顺序输出M和N区间内素数的个数以及它们的和, ...
- 7-6 统计素数并求和(2022-高级语言程序设计练习——循环结构程序设计)
目录 题目链接: 题目: 输入格式: 输出格式: 输入样例: 输出样例: AC代码: 提交正确截图: 实现语言:C 编译器:gcc 题目链接: 题目详情 - 7-6 统计素数并求和 (pintia.c ...
- C语言编程练习:统计素数并求和
文章目录 题目描述 思路 结果 题目描述 本题要求统计给定整数M和N区间内素数的个数并对它们求和. 输入格式: 输入在一行中给出2个正整数M和N( 1<=M<=N<=500 ). 输 ...
最新文章
- mysql注册数据库_基于mysql数据库的注册
- pythonsys用法_Python中 sys.argv[]的用法简明解释
- 直播 | ACL 2021论文解读:表征与结构兼备,结构化语言模型R2D2
- mysql学习-join的使用
- 戴尔发布面向制造、生命科学和研究的高性能计算系统
- Sublime text3装入插件Anaconda
- netty源码阅读之UnpooledByteBufAllocator
- BZOJ 4719--天天爱跑步(LCA差分)
- boost::asio 网络传输错误码的一些实验结果(recv error_code)
- 架设传奇时打开DBC数据库出错或读取DBC失败解决方法
- jedate选择一年范围日期插件
- 激活navicat提示rsa public key not find的问题
- asp毕业设计——基于asp+access的工资管理系统设计与实现(毕业论文+程序源码)——工资管理系统
- python爬数据是什么意思-python爬虫爬取的数据可以做什么
- Go语言泛型工具go2go
- python分析报告怎么写_【总结】竞品分析报告撰写的方法
- python爬虫概述及简单实践
- windows server 批量取消域用户属性“密码永不过期”
- java计算机毕业设计商品供应管理系统源码+系统+数据库+lw文档+mybatis+运行部署
- 查看linux系统CPU和内存命令