编写一个程序,求出满足下列条件的四位数:该数是个完全平方数,且第一、三位数字之和为10,第二、四位数字之积为12。
这是一个四位数,且是完全平方数,首先可以计算出最小和最大的完全平方的四位数,分别是32的平方为1024,99的平方为9801.另外第一,三位和为10,就是千位和十位利用和10相除,取余等一系列算法可以完成,而最后一个条件和前一个是类似的,可以仿照着来。源程序如下:
#include<stdio.h>
#include"math.h"
int main()
{
int temp;
int n;
for (temp = 32; temp <= 99; temp++)
{
n = temp * temp;
if ( (n % 10) * (n / 100 % 10) == 12 )
{
if ( (n / 10 % 10) + (n / 1000) == 10 )
{
printf ("%4d\n",n);
}
}
}
return 0;
}
我之前写的程序有问题,我用了平方sqrt,可却没有对n赋值,少了n = temp * temp这一行,导致出不来结果。对程序也是失之毫厘,谬以千里啊!