一道简单C++题目,求大神帮忙,会及时采纳

在三位自然数中有这样一些特点的数:

1)它们是素数;

2)它们中满足:十位数字是偶数,个位数字为3,如:223,283,383,443,463…….等。

求出在三位自然数的任意区间M ~N内所有满足上述条件的素数,并统计个数。

#include<bits/stdc++.h>
using namespace std;
bool check(int x){
    int cnt=0;
    for(int i=1;i<=x;i++)
        if(x%i==0)
            cnt++;
    return cnt==2;
}
int main(){
    int n,m;
    cin>>n>>m;
    int ans=0;
    for(int i=n;i<=m;i++){
        if(i%10!=3||i%10/10%2!=0)
            continue;
        if(check(i))
            ans++;
    }
    cout<<ans;
    return 0;
}

给你的思路,遍历M~N的之间的整数:(M<N)#代码细节可能需要修改,注意算法思路即可。
int i,k,sum=0;
for(k=M,k<N,k++)
{
if(x%10==3&&(x/10)%2==0)#满足条件2
{
for(i =2;i<N;i++)
{
if(x%i==0)
break;
}
if(i==N)#满足条件1
{sum++;}
}
}

问题解决的话,请点下采纳

#include <iostream>
using namespace std;

int isPrime(int n)
{
    for (int i = 2; i <= n / 2; i++)
        if (n % i == 0) return 0;
    return 1;
}

int main()
{
    int M, N;
    cin >> M >> N;
    int cnt = 0;
    for (int i = 103; i < 999; i += 20) //十位每次加2,个位不变,就可以保证十位数字是偶数,个位数字为3
    {
        if (i >= M && i <= N && isPrime(i))
        { cout << i << endl; cnt++; }
    }
    cout << "数量:" << cnt;
    return 0;
}

103 999
103
163
223
263
283
383
443
463
503
523
563
643
683
743
823
863
883
983
数量:18

#include<iostream>
#include<math.h>
using namespace std;
int isPrime(int x)
{//判断x是素数,ret=1则为真
    int ret = 1;
    int i;
    if( x == 1 ||
        (x%2 == 0 && x!=2))
            ret = 0;
    for(i=3;i<sqrt(x);i+=2){
        if(x%i == 0){
            ret = 0;
            break;
        }
    }
    return ret;
}
int method(int x)
{//判断x是否个位为3,十位是偶数,res=1则为真
    int unit,ten,hundred;
    int res = 0;
    unit = x%10;
    x = x/10;
    ten = x%10;
    x = x/10;
    hundred = x%10;
    if(unit == 3 && ten%2 == 0)
        res = 1;
    return res;
}
int main(){
    int M,N;
    int num=0;//计数
    cin>>M>>N;
    for(int i = M;i<N;i++){
        if(method(i) == 1 && isPrime(i) == 1){
            cout<<i<<" ";
            num++;
            if(num%10 == 0){//每10个数一换行
                cout<<endl;
            }
        }
    }
    cout<<endl;
    cout<<"数量="<<num<<endl;
    return 0;
}

图片说明