算法竞赛入门第二章2-2

时间:2021-02-03 16:08:16
//7744  判断n是否为完全平方数
//1:先开平方,然后看他是否为整数,用一个int变量存储sqrt四舍五入,再平方,判断是否相等  在这要用到floor函数  即向下取整函数<pre class="cpp" name="code">#include<stdio.h>
#include<math.h>
int main()
{
	int a,b;
	for(a=0;a<=9;a++)
		for(b=0;b<=9;b++)
		{int n=a*1100+b*11;
		int m=floor(sqrt(n)+0.5);
		if(m*m==n) printf("%d",n);
		}
		return 0;
}

//方法2:枚举平方根x,避免开平方操作
 
 
<pre class="cpp" name="code">#include<stdio.h>
#include<math.h>
int main()
{
	int x;
	for(x=1;;x++)
	{
		int n=x*x;
		if(n<1000) continue;
		if(n>9999) break;
		int hi=n/100;
	    int lo=n%100;
		if(hi/10==hi%10&&lo/10==lo%10)
			printf("%d",n);}
		return 0;
}