题目
一个数,它加上100后是一个完全平方数,再加上168后又是一个完全平方数,请问这个数是多少?
分析
(1)这个数最小是-100;
(2)可以考虑遍历,讲满足条件的输出
C语言程序实现
#include<stdio.h>
#include<math.h>
_Bool isSqured(int a);//判断一个数是不是平方数
void main()
{
int n=0;
int t[10];
for (int i = -100; i < 10000; i++)
{
if (isSqured(i + 100) == 1 && isSqured(i + 268) == 1)
{
t[n] = i;
n++;
}
}
printf("满足条件的分别是:\n");
for (int i = 0; i <n; i++)
{
printf("%d ", t[i]);
}
printf("\n");
}
_Bool isSqured(int a)
{
if (a < 0)
return 0;
double result;
result = sqrt(a);
if (floor(result) == result)
{
return 1;
}
if (floor(result) != result)
{
return 0;
}
}
运行结果:
满足条件的分别是:
-99 21 261 1581
请按任意键继续. . .
python语言程序实现
import math
#判断一个数是不是平方数
def isSqured(a):
if a<0:
return 0
result = math.sqrt(a)
if math.floor(result) == result:
return 1
else:
return 0
#加上100是完全平方数,加上168是完全平方数,
def main():
a={}
n=0
i = -100
while i<1000000:
if(isSqured(i+100) == 1 and isSqured(i+268) == 1):
a[n] = i
n=n+1
i = i+1
print("结果是:",a)
if __name__ == '__main__':
main()
运行结果:
结果是:% {0: -99, 1: 21, 2: 261, 3: 1581}
★finished by songpl,2018.11.28 morning