赞
踩
练习4-11 统计素数并求和
本题要求统计给定整数M和N区间内素数的个数并对它们求和。
输入在一行中给出两个正整数M和N(1≤M≤N≤500)。
在一行中顺序输出M和N区间内素数的个数以及它们的和,数字间以空格分隔。
10 31
7 143
- //统计一个区间内,所有素数的和,这题好像没有说是开区间还是闭区间
- //我是按照闭区间来做的
- #include <stdio.h>
-
- int main(){
- //输入区间的边界值
- int m,n;
- scanf("%d %d",&m,&n);
- int i,j;
- //count用来统计区间内有多少个素数,sum用来求区间内素数的和
- int count = 0;
- int sum = 0;
- //因为是自定义区间嘛,所以边界值为1的可能性也是有的,对1进行特殊处理
- if(m == 1){
- m =2;
- }
- //以下就是求素数的常用套路了
- for(i=m;i<=n;i++){
- //定义一个变量,用给变量赋值的不同来进行判断是否为素数
- int isPrime = 1;
- for(j=2;j<i;j++){
- //i%j可以为0的话,就说明这个i不是素数,把这个变量赋为0,
- if(i%j == 0){
- isPrime = 0;
- break;
- }
- }
- //判断变量是否为1,为1的话就是素数,然后进行相关操作
- if(isPrime==1){
- count++;
- sum += i;
- }
- }
- //这个区间内所有的素数和他们的和
- printf("%d %d",count,sum);
- return 0;
- }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。