# 【Python3练习题 003】一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?
# -------------------------------------------------
#
# 所谓的“完全平方数”,就是开完根号仍然是整数。
#
# 数学渣是这么思考的:假设这个数 i 在10000以内。
# 第一步:x = sqrt(i+100)。如果 x == floor(x),则证明 x 是个整数。
# 第二步道理也相同,但要记得把 x**2 把根号还原回来,再加上 168,然后再来开根号,得到 y,再判断其是否为整数。
# 经过这两次判断,都能通过的话,则为所求的整数。
import math for i in range(10000):
x = math.sqrt(i + 100)
if x == math.floor(x):
y = math.sqrt(x**2 + 168)
if y == math.floor(y):
print(i)
break
# 方法二 神算法来了!!感谢 codegay 的指教!先列出代码,大家随意感受一下: [print(x**2-100, end = ',') for x in range(1000) for y in range(1000) if (y**2 - x**2 == 168)] # 方法三 这个“列表推导式”很简洁很帅气有没有!展开写的话,就是: for x in range(1000):
for y in range(1000):
if (y**2 - x**2) == 168:
print(x**2-100, end = ',') # 这是格式上的不同,不奇妙,真正奇妙的是算法啊算法!!它巧妙地将第1个完全平方数标识为 x**2,
# 第2个标识为 y**2,如此就能用 if (y**2 - x**2) == 168 进行判断,不得不说真是太聪明了!(还是说我太笨了?)输出结果:
#
# -99,21,261,1581
#
# 唯一遗憾的是,x 和 y 的取值范围完全不知道如何设定。随手取了个 range(1000),但就算是取 10000,结果也就只有这 4 个。
# 我想,通过推导应该能证明最大值吧,但我就一数学渣,所以就算了…… PS:别轻易用 10000 这么大的值,要循环挺久的。
#
#
#
# ++++++++++++++++++++++++++++++++++++++++++++++
# 【Python3练习题 003】一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?的更多相关文章
- python基础练习题(一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?)
day2 --------------------------------------------------------------- 实例003:完全平方数 题目: 一个整数,它加上100后是一个 ...
- Python经典练习题1:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?
Python经典练习题 网上能够搜得到的答案为: for i in range(1,85): if 168 % i == 0: j = 168 / i; if i > j and (i + j) ...
- 【Python3练习题 015】 一球从100米高度自由落下,每次落地后反跳回原高度的一半,再落下。求它在第10次落地时,共经过多少米?第10次反弹多高?
a = [100] #每个‘反弹落地’过程经过的路程,第1次只有落地(100米) h = 100 #每个‘反弹落地’过程,反弹的高度,第1次为100米 print('第1次从%s米高落地,走过%s ...
- python3 练习题100例 (三)
题目三:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少? #!/usr/bin/env python3 # -*- coding: utf-8 -*- &qu ...
- Python练习题 003:完全平方数
[Python练习题 003]一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少? --------------------------------------- ...
- java例题_13 加上100再加上168的完全平方数问题
1 /*13 [程序 13 根据条件求数字] 2 题目:一个整数,它加上 100 后是一个完全平方数,再加上 268 又是一个完全平方数,请问该数是多少? 3 程序分析:在 10万以内判断,先将该数加 ...
- Javascript里,想把一个整数转换成字符串,字符串长度为2
Javascript里,想把一个整数转换成字符串,字符串长度为2. 想把一个整数转换成字符串,字符串长度为2,怎么弄?比如 1 => "01"11 => " ...
- 软件工程结对开发——返回一个整数数组中最大子数组的和(JAVA)
题目:返回一个整数数组中最大子数组的和. 要求: 输入一个整型数组,数组里有正数也有负数: 数组中连续的一个或多个整数组成一个子数组,每个子数组都有一个和: 求所有子数组的和的最大值.要求时间复杂度为 ...
- 又是一个愚蠢的错误,皆因.xml而起
论java中的.xml到底有多坑?! 感觉自己都快哭了,再一次被.xml给坑了一下,这次坑的太狠了,一下子导致自己浪费了昨天一下午,一晚上,今天一上午和半个下午呀,中间的过程真的是乏善可陈呀,各 ...
随机推荐
- February 24th, 2018 Week 8th Saturday
Those are my principles, and if you don't like them... well, I have others. 那是我的原则,要是你不喜欢......那我还有其 ...
- Unity Shader 基础(1): RenderType & ReplacementShader
很多Shader中都会定义RenderType这个类型,但是一直搞不明白到底是干嘛的,官方文档是这样结解释的:Rendering with Replaced Shaders Rendering wit ...
- Java Native Interface(JNI)
JNI能让Java代码在Java虚拟机里调用其他编程语言(例如C.C++)写的应用或库,且不会影响任何Java虚拟机的实现. 什么时候用JNI? 1.应用程序所需的平台相关功能,标准的Java类库不支 ...
- keepalived脑裂问题查找
在自己环境做keepalived+redis实验时,当重启了备用redies机器后,发现两台redies主机都拿到了VIP [root@redis2 ~]# ip addr list 1: lo: & ...
- Apache Curator is a Java/JVM client library for Apache ZooKeeper
http://curator.apache.org/index.html Welcome to Apache Curator What is Curator? Curator n ˈkyoor͝ˌāt ...
- python六十九课——网络编程之TCP协议
1.1 概述: TCP协议通过三次握手协议将客户端与服务器端连接,两端使用各自的Socket对象.Socket对象中包含了IO流,供数据传输. 即:TCP协议在客户端与服务器端通过Socket组成了I ...
- 【转】ajax发送请求时候为什么会报拒绝设置不安全的header
浏览器不允许用户手动设置敏感的Http header包括但不限于cookie.host.referer 为了安全,跨域XHR对象有一些限制: 不能使用 setRequestHeader() 设置自定义 ...
- redis单例模式写法
<?php /**只看红色重点 * =========================================================== * ZW_Memory_Cache * ...
- 【js】使用javascript 实现静态网页分页效果
<!DOCTYPE html> <html> <head> <meta http-equiv="content-Type" content ...
- Python 文件编译为字节码的方法
一般情况下 python 不需要手动编译字节码.但是如果不想直接 release 源代码给其他人,将文件编译成字节码,可以实现一定程度的信息隐藏. 1) 使用模块 py_compile 编译一个单文件 ...