PTA 统计素数并求和 + 小于m的最大的10个素数

该博客主要介绍如何使用C语言解决两个问题:一是统计并求解指定区间[M, N]内素数的个数和;二是找出小于给定数m的最大的10个素数。文章提供了输入输出格式和样例,适合C语言初学者练习素数相关的编程技巧。" 120579453,8505666,Java日志框架:log4j、slf4j与logback实战,"['Java', '日志管理', 'log4j', 'slf4j', 'logback']

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本题要求统计给定整数M和N区间内素数的个数并对它们求和。

输入格式:

输入在一行中给出两个正整数M和N(1≤M≤N≤500)。

输出格式:

在一行中顺序输出M和N区间内素数的个数以及它们的和,数字间以空格分隔。

输入样例:

10 31

结尾无空行

输出样例:

7 143

结尾无空行

答案:若不排除1的情况则不正确

#include<stdio.h>
int main()
{
	int m,n;
	scanf("%d %d",&m,&n);//首尾项 
	
	int i,num;
	int k=0;//素数的个数 
	int sum=0;//素数的和 
	for(num=m;num<=n;num++)
	{
		int isprime =1;
		for(i=2;i<num;i++)
		{
			if(num%i==0){//num不是素数时 
				isprime=0;
				break;//打破循环		
			}	
		}
		if(num!=1&&isprime ==1){//num不能为1故加 num!=1
			k++;
			sum+=num;
			//printf("%d\n",num); //素数的值 
		}	
	}
	printf("%d %d",k,sum);
	return 0;
}

变形题:

给定一个整数m(50<m<20000),找出小于m的最大的10个素数。

输入格式:

输入在一行中给出一个正整数m(50<m<20000)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值