有关完全平方数的几种求法

题目:找出所有四位的完全平方数,且1,3两位乘积为12;2,4两位和为10.

思路:其中位乘积和求和较容易实现,难点在于完全平方数的求法。有两种基本思路。 

//方法一:开根号的平方等于本身

     if ((sqrt(i))*(sqrt(i))==i,.....);

//方法二:开根号为整数

#include <stdio.h>

#include <math.h>
int main()       //主函数
{
int i;
int a;
int b;
int c;
int d;
double e;
for (i=1000;i<10000;i++)  // 循环所有四位数
{ 
a=i%10;                 // 个位
b=i%100/10;         //十位
c=(i%1000)/100;   //百位
d=i/1000;            //千位
e=sqrt(i);
if ((e-(int)e==0)&&(b+d==10)&&(a*c==12))  // 也可以写成if e=(int)e ;
printf ("%d\n",i);                                                // (int)e为强制取整;
}
 return 0;
}

猜你喜欢

转载自blog.csdn.net/CalvinHARRIS/article/details/79167866
今日推荐