最近老师布置了一道题,内容是这样的:
输入m,n(m,n小于100),求出m,n之间的素数。
我本人的思路是这样的:
素数的性质就是除了自己与一,无法被其他数整除,由此想到,我们可以设一个循环,从2开始,一个一个除,这个数组中,能整除的赋值为0,最后输出非0数
代码如下:
#include<iostream>
#include<cstdlib>
#include<ctime>
using namespace std;
int main(){
//输出m-n之间的所有素数
int m,n,sum=0;
cin>>m>>n;
int a[n-m+1],k=0;
for(int i=m;i<=n;i++){
for(int j=2;j<i;j++){
if(i%j==0){
sum++;
}
}
if(sum==0){
a[k++]=i;
}
sum=0;
}
for(int i=0;i<k;i++){
cout <<a[i]<<" ";
}
return 0;
}
运行结果:
但输入的数必须大于0,否则会
出现0,这可就不好了,这一章先到这里,持续更新哦!