素数相关

29 阅读1分钟

题目描述

输入2个正整数m和n(m>=1,n<=500),统计并输出m和n之间的素数个数以及这些素数的和。

素数就是只能被1和自身整除的正整数,最小的素数是2.要求调用函数prime(m),判断m是否为素数,当m为素数时返回1,否则返回0.

示例

image.png

具体实现

#include<bits/stdc++.h>
using namespace std;
int prime(int n){ //判断素数
	for(int i=2; i<n; i++){
		if(n%2==0){
			return 0;
		}
	}
	return 1;
}
int main(){
	int m,n,sum=0,cnt=0;
	cin>>m>>n;
	if(m<n){
		for(int i=m; i<=n; i++){
			if(prime(i)){
				cnt++;
				sum+=i;
			}
		}
		cout<<"个数:"<<cnt<<endl;
		cout<<"素数和:"<<sum;
	}
	
	return 0;
}