改名字了,2022.2.26之前叫

回到正题,由题可知,题目要求在用户自己输入的定整数M和N区间内求出素数的个数,并且对他们求和。

要想解决编程题目,首先要知道题目问的是什么。 素数一般指质数质数是指在大于1的自然数中,除了1和它本身以外不再有其他因数的自然数。

简而言之就是一个数字n只能被1和它本身整除(n>1,不包含1本身,即从2开始计数)。

知道了这些就可以往下进行了。

首先我们需要两个变量,用来存放输入的两个定整数,即:

#include<stdio.h>

int main()
{

int m,n;

scanf("%d%d",&m,&n);

}

(为了方便了解,下面只写main函数里面的代码。)

由此即可输入两个数字m,和n

其次我们应该可以想到有一个if判断条件,也就是什么时候这个数字可以判断成素数,然后进行求和的这样一个操作:

if()
{

cnt++;

sum+=i;

}

想到这这一句话,就要再创建三个变量i,cnt,sum;

i用来表示一直变化着的数字,也就是从m到n这个区间内遍历的数字,i是一直变化着的,cnt用来计数,记录从m到n这个区间内的素数个数,sum用来求和。

此时我们的代码可以写成这个样子:

sum+=i 意思是sum=sum+i;

即将每次求出来的素数进行累计求和。

接下来我们可以从if入手,既然有了if,那我们就该考虑if()括号里面放入什么判断条件。

我们可以假设一个变量叫isPrime,当isPrime=1时,即为素数。

其次,我们要从m到n进行一个遍历,这样我们才能得到m到n的素数

这个循环的意思是:第一层for循环,先把m的值赋给i,当i<=n时进行下面的语句。这样做的意思是,让 i 这个变量从m到n遍历一遍,确保m到n区间内的整数都能被遍历过,不漏数字。

可以用数轴表示m到n

随后是又重新定义了一个变量K

把2赋值给k,当k<i-1时候进行if判断

i%k==0 当 i 求余k的值是0时,说明 i 将k整除了。

举个例子,10/5=2 余数为0 这个0就是求余后的结果,也可以写成10%2==0;   两个等号的意思是等于,而不是一个等号代表的赋值语句,我以前也会犯这样的错误,如果写成了if(i%k=0) 那语句意思就变成了把0赋值给了 i %k 的结果,那这样 i % k的结果就一直是0,起不到判断的作用了。

这里 i 和k的意思是,i 可以理解为一个从m 到 n 一直增长的一个变量,而 k 从2 开始就是因为素数的定义,素数是大于的1 的整数,并且只能被1和它本身整除,所以k才从2开始。i%k就是为了检验m到n区间内的数(即变量i遍历期间)是否能将k 整除,如果它一直整除,那说明它就不是一个素数,毕竟 当且仅当一个数字被1和它本身整除时才能叫作素数。

感兴趣的同学可以自己逐语句看一下整个过程,这里我用的是VS2019

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int main()
{
    int m, n;
    int i;
    int cnt = 0;
    int sum = 0;
    scanf("%d%d", &m, &n);
    if (m == 1)
        m = 2;
    for (i = m; i <= n; i++) {
        int k;
        int isPrime = 1;
        for (k = 2; k < i - 1; k++) {
            if (i % k == 0) {
                isPrime = 0;
                break;
            }
        }

if (isPrime) {
            cnt++;
            sum += i;
        }
    }
    printf("%d %d\n", cnt, sum);
    return 0;
}

在vs2019里面如果遇到了scanf返回值被忽略:

可以在代码顶部加上一行:

这样就不会报错了。

知道了要输入两个变量接受值、要用if做出判断:是否是素数,进行求和 和计数、用for循环进行遍历、添加相应的条件,例如:if(i%k==0)进行判断。 有了这些思考,我们再写出一个相关的代码也就不太难了,起码不像我们一开始看到题目毫无思路。

看到问题勤思考,小张和你共成长!

谢谢大家的观看!

【C语言】统计素数并求和相关推荐

  1. C语言-统计素数并求和-PTA

    本题要求统计给定整数M和N区间内素数的个数并对它们求和. 输入格式: 输入在一行中给出两个正整数M和N(1≤M≤N≤500). 输出格式: 在一行中顺序输出M和N区间内素数的个数以及它们的和,数字间以 ...

  2. 7-6 统计素数并求和(2022-高级语言程序设计练习——循环结构程序设计)

    目录 题目链接: 题目: 输入格式: 输出格式: 输入样例: 输出样例: AC代码: 提交正确截图: 实现语言:C 编译器:gcc 题目链接: 题目详情 - 7-6 统计素数并求和 (pintia.c ...

  3. 统计素数并求和,C语言

    统计素数并求和 统计给定整数M和N区间内素数的个数并对它们求和. 输入格式: 输入在一行中给出两个正整数M和N(1≤M≤N≤500). 输出格式: 在一行中顺序输出M和N区间内素数的个数以及它们的和, ...

  4. 练习4-11 统计素数并求和(20 分)

    练习4-11 统计素数并求和(20 分) 本题要求统计给定整数M和N区间内素数的个数并对它们求和. 输入格式: 输入在一行中给出两个正整数M和N(1≤M≤N≤500). 输出格式: 在一行中顺序输出M ...

  5. 7-33 统计素数并求和(20 分)

    7-33 统计素数并求和(20 分) 本题要求统计给定整数M和N区间内素数的个数并对它们求和. 输入格式: 输入在一行中给出两个正整数M和N(1≤M≤N≤500). 输出格式: 在一行中顺序输出M和N ...

  6. 统计素数并求和 / 求奇数和

    练习4-11 统计素数并求和   (20分) 本题要求统计给定整数MM和NN区间内素数的个数并对它们求和. 输入格式: 输入在一行中给出两个正整数MM和NN(1\le M\le N\le 5001≤M ...

  7. 统计素数并求和(20分)

    统计素数并求和 (20分) 本题要求统计给定整数M和N区间内素数的个数并对它们求和. 输入格式: 输入在一行中给出两个正整数M和N(1≤M≤N≤500). 输出格式: 在一行中顺序输出M和N区间内素数 ...

  8. ## 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): ...

  9. 实验4-1-5 统计素数并求和 (20 分)

    实验4-1-5 统计素数并求和 (20 分) 本题要求统计给定整数M和N区间内素数的个数并对它们求和. 输入格式: 输入在一行中给出两个正整数M和N(1≤M≤N≤500). 输出格式: 在一行中顺序输 ...

  10. 浙江大学 PTA 程序 第四部分 给定精度的简单交错序列部分和 数字游戏 e的近似值 最小值 统计素数并求和 奇数和 幂级数展开的部分和 分数序列前N项和 特殊a串数列求和 换硬币 水仙花数 最大公约

    练习4-3 求给定精度的简单交错序列部分和 (15 分) 本题要求编写程序,计算序列部分和 1 - 1/4 + 1/7 - 1/10 + ... 直到最后一项的绝对值不大于给定精度eps. 输入格式: ...

最新文章

  1. java basedaoimpl_java web项目DAO层通用接口BaseDao与实现类BaseDaoImpl
  2. 自己学习Foundation一些类
  3. 履约时间预估:如何让外卖更快送达?
  4. Codeforces Round #586 (Div. 1 + Div. 2) D. Alex and Julian 数学 + 思维
  5. [Bzoj4182]Shopping(点分治)(树上背包)(单调队列优化多重背包)
  6. C语言:用单链表实现输入排序
  7. 女子在朋友圈辱骂前男友被起诉,最后法院判决结果舒适...
  8. 核心编程第五版 配套代码_攻略Python的免费书单:走进编程,从这五本书开始...
  9. 大雪满弓刀之林冲 [转]
  10. 基于Nginx日志的自动封异常ip和解封脚本
  11. java调用ip138实现ip地址查询
  12. U8 8.9 数据库置疑恢复方法
  13. stm32f103gd32的usb虚拟串口,打印类printer组合设备
  14. excel多条件计数python_Excel统计满足条件的不重复值个数的8种方法,第三种方法最适合新手!我真的入门了!...
  15. 阿福卡专属流量包 开通 取消 方法
  16. F分布概率密度函数的推导
  17. 苹果wifi网速慢怎么办_WiFi用着用着就断了?这样设置WiFi永不断网,大部分人不知道...
  18. Vue 开发必须知道的 36 个技巧【近1W字】
  19. 【并发编程十九】芊程(fiber)
  20. Python-图片格式转化(jip,png,jieg转化为PDF,PDF转jip,png,jieg)

热门文章

  1. 把js封装到html,什么是javascript封装?
  2. amap不同样式marker点_amap不同样式marker点_CAD制图软件中如何设置CAD打印样式表(CTB)?...
  3. ubuntu16.04安装及卸载anaconda3
  4. Windows 下快速删除大量文件的办法
  5. APP测试点总结(表格形式)
  6. Java一键生成PDF合同以及骑缝章、盖章处的精准盖章
  7. 天地图矢量数据下载_关于离线地图数据的下载、更新以及删除的方法
  8. 小京东V5.X短信宝插件开发
  9. 基于STM32通过RTC唤醒低功耗模式
  10. cad图纸问号怎么转换文字_教你如何解决CAD图纸上字体显示问号的问题