0
点赞
收藏
分享

微信扫一扫

每日一小练1——完全平方数问题(Python&C语言实现)一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?


目录

​​1 案例​​

​​2 分析​​

​​3 Python实现 ​​

​​4 C语言实现 ​​

1 案例

一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?

2 分析

由题意我们可以设该数为x ,加100后得到的完全平方数为

每日一小练1——完全平方数问题(Python&C语言实现)一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?_#include

再加168后得到的完全平方数为

每日一小练1——完全平方数问题(Python&C语言实现)一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?_python_02


则:


每日一小练1——完全平方数问题(Python&C语言实现)一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?_#include_03

得:

                    

每日一小练1——完全平方数问题(Python&C语言实现)一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?_c语言_04

可以利用的条件: 

                  

每日一小练1——完全平方数问题(Python&C语言实现)一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?_c语言_05

3 Python实现 

(1)方法一:

假设这个数字是:x
条件一:x+100是一个完全平方数
条件二:x+100+168也是一个完全平方数

import math
for i in range(-100,2000):
if (int(math.sqrt(i+100)))**2 == i+100:
if int(math.sqrt(i+268))**2 == i+268:
print(i,end=' ')


#================结果================

-99 21 261 1581
Process finished with exit code 0

(2)方法二 

其实可以采用逆向思维:我们可以分别假设:

(1)x+100开平方后的数字是:a

(2)x+100+168开平方后后的数字是:b

        那么的话就存在如此关系:

                1):

每日一小练1——完全平方数问题(Python&C语言实现)一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?_完全平方数_06


                2):

每日一小练1——完全平方数问题(Python&C语言实现)一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?_完全平方数_07

for i in range(0,100):
for j in range(0,100):
if i**2 - j**2 == 168:
print("数字是:{} ;i = {} ;j = {}".format(j**2 - 100,i,j))

#====================结果========================

数字是:-99 ;i = 13 ;j = 1
数字是:21 ;i = 17 ;j = 11
数字是:261 ;i = 23 ;j = 19
数字是:1581 ;i = 43 ;j = 41

Process finished with exit code 0

4 C语言实现 

#include "stdio.h"
#include "math.h"

int main(void)
{
int x = -100;
double y = 0, z = 0;
do {
y = sqrt(x + 100);
z = sqrt(x + 100 + 168);
if (y == (int)y && z == (int)z)
printf("%d\n", x);
x++;
} while ((z + y) > 0 && (z + y) <= 168);


return 0;
}

每日一小练1——完全平方数问题(Python&C语言实现)一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?_python_08

 

        

 

 

 

举报

相关推荐

0 条评论