day2

---------------------------------------------------------------

实例003:完全平方数

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

仿佛不会思考,直接上手写。。。

1 k = 10001
2 for i in range(0,k):
3 for j in range(0,k):
4 if j*j ==(i+100):
5 for k in range(0,k):
6 if k*k ==(i+268):
7 print(i)
8 continue

嗯,假装找到几个值,但这代码看得自己想吐,效率真TM慢,真low

标准答案

思路是:最坏的结果是n的平方与(n+1)的平方刚好差168,由于是平方的关系,不可能存在比这更大的间隙。至于判断是否是完全平方数,最简单的方法是:平方根的值小数为0即可。

结合起来:

1 n=0
2 while (n+1)**2-n*n<=168:
3 n+=1
4
5 for i in range((n+1)**2):
6 if i**0.5==int(i**0.5) and (i+168)**0.5==int((i+168)**0.5):
7 print(i-100)

对比下,这里应该找到数的最大值,而我少了这一步,数学改补补了。对了求一个平方根可以用   x**0.5 == int (x**0.5)   ,脑子锈了。。。下面是个更烧脑的答案。。。

其他答案

分析:整数+100是一个完全平方数即大于0的数,所以这个数应该是大于-99,否则不会是完全平均数。

x+100 =n*n

x+100+168=m*m

2x+268=n*n+m*m

2x=n*n+m*m-268

x=(n*n+m*m-268)*0.5

m*m-n*n=168,根据这条推断,100*100-99*99=10000-9801=199>168,所以m和n的值都小于100,那么x的值就小于10000,所以

 1 import math
2
3
4 #方法一
5 for i in range(-99,10000):
6 x = int(math.sqrt(i+100))
7 if x*x == i+100:
8 y = int(math.sqrt(i+100+168))
9 if y*y==i+100+168:
10 print(i)
11
12
13 #方法二,再次优化,以m,n来写代码,n<100,又因为m*m=n*n+168,所以m>math.sqrt(168),即m>13,这个方法循环次数更少
14 for m in range(13,100):
15 n = int(math.sqrt(m*m-168))
16 if n*n ==m*m-168:
17 print(m*m-168-100)

python基础练习题(一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?)的更多相关文章

  1. python基础练习题(题目 一个数如果恰好等于它的因子之和,这个数就称为"完数"。例如6=1+2+3.编程找出1000以内的所有完数)

    day12 --------------------------------------------------------------- 实例019:完数 题目 一个数如果恰好等于它的因子之和,这个 ...

  2. Python基础练习题100例(Python 3.x)

    1:题目:有四个数字:1.2.3.4,能组成多少个互不相同且无重复数字的三位数?各是多少? 程序分析:可填在百位.十位.个位的数字都是1.2.3.4.组成所有的排列后再去 掉不满足条件的排列. 程序源 ...

  3. python基础练习题3

    01:有1,2,3,4个数字,能组成多少个互不相同且无重复的三位数,都是多少思路:可填写在百位,十位,个位的数字都是1,2,3,4.组成所有的排列后再去掉不满足条件的排列 list =[,,,] li ...

  4. Python经典练习题1:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?

    Python经典练习题 网上能够搜得到的答案为: for i in range(1,85): if 168 % i == 0: j = 168 / i; if i > j and (i + j) ...

  5. # 【Python3练习题 003】一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?

    # -------------------------------------------------## 所谓的“完全平方数”,就是开完根号仍然是整数.## 数学渣是这么思考的:假设这个数 i 在1 ...

  6. python基础练习题(题目 取一个整数a从右端开始的4〜7位。)

    day36 --------------------------------------------------------------- 实例054:位取反.位移动 题目 取一个整数a从右端开始的4 ...

  7. python基础练习题(题目 将一个整数分解质因数。例如:输入90,打印出90=2*3*3*5)

    day9 --------------------------------------------------------------- 实例014:分解质因数 题目 将一个整数分解质因数.例如:输入 ...

  8. python基础练习题(题目 猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少)

    day13 --------------------------------------------------------------- 实例021:猴子偷桃 题目 猴子吃桃问题:猴子第一天摘下若干 ...

  9. python基础练习题1

    深深感知python基础是有多么重要,Ljh说一定要多练题,so,我现在开始要每天打卡练习python.加油! 01:求‘1-100’的偶数和 #第一种解法: sum=0 num=0 while nu ...

随机推荐

  1. SpringCloudAlibaba 微服务讲解(三)Nacos Discovery-服务治理

    3.1 服务治理 先来思考一个问题,通过上一章的操作,我们已经实现微服务之间的调用,但是我们把服务提供者的网络地址(ip,端口)等硬编码到了代码中,这种做法存在许多问题: 一旦服务提供者地址变化,就需 ...

  2. LCT板子

    粘板子: #include<cstdio> #include<cstring> #include<algorithm> using namespace std; c ...

  3. cookies、sessionStorage和localStorage的区别

    cookies.sessionStorage和localStorage的区别 对比 特性 Cookie LocalStorage SessionStorage 数据的生命周期              ...

  4. 关于 OOP 和设计模式?

    这部分包含 Java 面试过程中关于 SOLID 的设计原则,OOP 基础,如类,对象, 接口,继承,多态,封装,抽象以及更高级的一些概念,如组合.聚合及关联. 也包含了 GOF 设计模式的问题.

  5. 学习Apache(一)

    实验目的 通过apache实现反向代理的功能,类似nginx反向代理和haproxy反向代理 环境准备 逻辑架构如下 前端是apche服务器,监听80端口,后端有两台web服务器,分别是node1和n ...

  6. js技术之转换为大写toUpperCase()

    案例:把所有单词以空格为分割并将首字母转为大写 <!DOCTYPE html><html lang="en"><head> <meta c ...

  7. c++实现中介者模式--虚拟聊天室

    内容: 在"虚拟聊天室"实例中增加一个新的具体聊天室类和一个新的具体会员类,要求如下: 1. 新的具体聊天室中发送的图片大小不得超过20M. 2. 新的具体聊天室中发送的文字长度不 ...

  8. php弹窗后跳入另一个页面

    之前写项目时,在跳转页面前加入一个弹窗,发现弹窗没有弹出来就直接跳转了,之前使用的header跳转发现不行,换成location.href也不行,后来再location.href前加入一个parent ...

  9. java中的方法(method)到底怎么用?给个例子

    7.方法(method)   被调例子, int add(int x, int y){ return x+y; } 主调例子, for example: int result = add(5,3); ...

  10. java中final变量的用法

    4.4 final变量    final变量的数值不能在初始化之后进行改变(你希望a=3,有很多用到a的场合, 你当然不能在程序中就用3来代替a). 比如: final int h = 0; 想像有一 ...