标签:
有一道题我不知道是哪里错了,大神们帮忙看一下,谢谢!
试题描述:
在四位自然数中有这样一些特点的数:
(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; }
编译后输出是对的,但提交却是错的,不知道为什么。
标签:
原文地址:http://www.cnblogs.com/jason2003/p/5876756.html