包含3的素数
题目描述:
大家都知道,在所有的素数中,2是唯一的一个偶素数,而奇素数相对来说就比较多了,3就是素数中的第一个奇素数。小A现在想知道[m,n]中所有包含3的素数。(包含3的素数:既是素数,并且数字中含有3;比如3,13都是包含3的素数)
输入格式
输入两个正整数m,n,数字间以空格隔开。
输出格式
输出可能有n行,为m~n之间的每一个包含3的素数。
如果m~n之间没有符合条件的数,那么输出“empty”。
m<=n<=1000
#include<bits/stdc++.h>
using namespace std;
bool zhishu(int a) {
for(int i=2; i<a; i++)
if(a%i==0)
return false;
return true;
}
bool check(int x) {
if(x%4!=0)return 0;
bool flag=0;
while(x!=0) {
int p=x%10;
if(p==3) {
flag=1;
break;
}
x=x/10;
}
if(flag==0)return 0;
else return 1;
}
int main() {
int m,n;
cin>>m>>n;
for(int i=m; i<n; i++) {
if(zhishu(i))if(check(i))cout<<i<<endl;
}
return 0;
}
哪里错了?