编程输入两个整数a,b(2<=a<b),输出整数区间[a,b]内的所有素数(测试数据中保证区间内有素数)。
输入格式
两个整数a和b。
输出格式
区间[a,b]内的所有素数,逗号分隔。
输入样例:
2 31
输出样例:
2,3,5,7,11,13,17,19,23,29,31
输入样例:
100 110
输出样例:
101,103,107,109
代码:
#include<iostream>
#include<cmath>
using namespace std;
int prime(int n) {
int index=0;
if(n<=1)
index=1;
else if(n==2)
index=1;
else {
int item=sqrt(n)+1;
int i;
for(i=2; i<=item; i++) {
if(n%i==0)
break;
}
if(i>item) {
index=1;
}
}
return index;
}
int main() {
int a,b;
cin>>a>>b;
int num=0;
for(int i=a; i<=b; i++) { //区间内素数的个数
if(prime(i)==1)
num++;
}
for(int i=a; i<=b; i++) {
if(prime(i)==1) {
cout<<i;
num--;
}
if(num!=0&&prime(i)==1) //最后一个素数不输出逗号
cout<<",";
}
return 0;
}