编程:在三位整数中寻找符合条件的整数并依次从小到大存入数组;它既是完全平方数,又有两位数字相同。

来源:百度知道 编辑:UC知道 时间:2024/06/06 09:11:58
这道编程题让我很头痛,希望大家能帮帮我

100
121
144
225
400
441
484
676
900
Press any key to continue...

public class Exercise
{
public static void main (String[] args)
{
for (int i = 100; i < 1000; i++ )
if (f (i))
System.out.println (i);
}

static boolean f (int n)
{
double d = Math.sqrt (n);
if ((int)d != d)
return false;
int a = n / 100, b = n / 10 % 10, c = n % 10;
if (a == b || a == c || b == c)
return true;
return false;
}
}

判断一个数是否是完全平方数,可以将其开方,结果取整后平方,看是否得到原数.
判断一个三位数是否有两位数字相同,可以先求出其百,十,个位数,放在三个变量a,b,c里,然后看(a-b)*(b-c)*(a-c)是否为0.

#include<stdio.h>
#include<math.h>
main()
{
int m,n,t,q;
double k;
for(n=100;n<1000;n++)
{
k=sqrt(n);

m=n/100;
t=n/10%10;
q=n%10;
if(((int)k==k)&&(m==t||m==q||t==q))
printf("%d\n"