【发布时间】:2011-01-09 13:05:14
【问题描述】:
我必须找到 XXYY 形式的 4 位数字,它们是任何整数的完全平方。我已经编写了这段代码,但是当我必须只过滤完美整数时,它会给出所有数字的平方根。
我只想在 sqrt(z) 为整数时显示它。
#include<math.h>
#include<iostream.h>
#include<conio.h>
void main()
{
int x,y=4,z;
clrscr();
for(x=1;x<=9;x++)
{
z=11*(100*x+y);
cout<<"\n"<<sqrt(z);
}
getch();
}
【问题讨论】:
-
澄清一下,您要问的是“我如何测试 z 是平方数时?例如,我如何测试 sqrt(z) 是否返回整数结果?”
-
你能举个例子吗?问题不清楚
-
对于粗心的人:四位数的完美正方形的最后一位也是 44,因此
XXYY模式实际上简化为XX44。感谢史蒂夫·杰索普(Steve Jessop)向我指出:p -
@Matthieu:
00也是可能的(1600、2500 等)。 -
@dan04:对不起,我表达得不够准确。 XXYY 形式的正方形必须是 XX44 形式。还有其他 4 位数的方格,但它们的前两位数字互不相同。