首页 > 代码库 > 有一道题,大家能帮我看一下哪里错了吗?c++的

有一道题,大家能帮我看一下哪里错了吗?c++的

有一道题我不知道是哪里错了,大神们帮忙看一下,谢谢!

试题描述:

在四位自然数中有这样一些特点的数:
(1)它们是素数;
(2)将这些素数加上45后得到一个新的数值;
(3)请同学们在这些新的数值中挑选出:是完全平方数同时末尾数字是4的这样特点的数。例如素数:1399,加上45后,得到新数1444。而1444满足:它是完全平方数,同时末尾数字为4。
现给出任意自然数M ~N的区间,请同学们计算并输出所有满足上述条件的数值,并统计个数

输入:

文件中只有一行,包含两个用空格隔开的任意自然数M和N,
(其中1000≤M<N≤9999)。

输出:

文件中共有若干行:
前若干行:每行一个数,为满足上述条件的数值;
最后一行:只有一个数,为满足上述条件的数值的个数。

输入示例:

1000 4000

输出示例:

1444
2704
3364
3

#include <iostream>#include <cmath>using namespace std;int main(){    int a[10000],m,n,i,j,k,flag,sum=0;    cin>>m>>n;    for(i=m;i<=n;i++)    {        flag=0;        for(j=2;j<=i/2;j++)        {            if(i%j==0)            {                flag=1;                break;            }        }        if(flag==0)        {            i=i+45;            for(k=1;k<=i/2;k++)            {                if(k*k==i)                {                    cout<<i<<endl;                    sum++;                }            }            i=i-45;        }   }   cout<<sum;}

编译后输出是对的,但提交却是错的,不知道为什么。

有一道题,大家能帮我看一下哪里错了吗?c++的