鱼C论坛

 找回密码
 立即注册
楼主: 新手·ing

[技术交流] Python:每日一题 3

   关闭 [复制链接]
发表于 2017-11-10 21:33:35 | 显示全部楼层
  1. import math
  2. for i in range(10000):
  3.     j = math.sqrt(i+100)
  4.     k = math.sqrt(i+268)
  5.     if j == int(j) and k == int(k):
  6.         print(i)  #哈哈,自己做出来的,真开心,啦啦啦
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2017-11-28 16:23:56 | 显示全部楼层
import math
def isPerfectSquareNumber(num):
    a = math.sqrt(num)
    a = [str(a),int(a)][int(a)==a]
    if(isinstance(a,int)):
        return True
    else:
        return False
for i in range(1,10001):
    if( isPerfectSquareNumber(i+100) and isPerfectSquareNumber(i+268)):
        print(i)


21
261
1581
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-12-1 16:28:16 | 显示全部楼层
  1. for i in range(10000):
  2.     if ((i+100)**0.5)%1==0 and ((i+268)**0.5)%1==0:
  3.         print(i)

  4. # 21、26、1581
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-12-6 18:56:11 | 显示全部楼层

这样出来的结果只有21,261,1581三个数
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-12-25 21:21:25 | 显示全部楼层
流月飞星 发表于 2017-4-13 10:46
这道题为什么要余1。。 求思路

我觉得应该是余1等于0是个整数吧
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-1-11 15:16:43 | 显示全部楼层
for i in range(1,10001):
        for j in range(1,10001):
                if i+100==j**2:
                        for k in range(1,10001):
                                if i+268==k**2:
                                        print(i)
小白不会用math....
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-1-16 22:01:12 | 显示全部楼层
  1. import math
  2. for i in range(0,10000):
  3.         a = int(math.sqrt( i + 100))
  4.         d = int(math.sqrt(i + 268))
  5.         if(a * a == i + 100  and d * d == i +268):
  6.                 print(i)
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-1-17 10:58:59 | 显示全部楼层
import math

for i in range(0,1000):
    if math.sqrt(i+100)-int(math.sqrt(i+100))==0 and math.sqrt(i+268)-int(math.sqrt(i+268))==0:
        print(i)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-1-19 14:05:15 | 显示全部楼层
ooxx7788 发表于 2017-3-25 11:20
你们忽略了-99也是整数哦!

if not a % 1 and not b % 1:
请问这一步是什么意思
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-1-19 15:47:33 | 显示全部楼层
import math
for i in range(1001):
    a = i+100
    b = i+268
    c = math.sqrt(a)
    d = math.sqrt(b)
    if c*c == a and d*d == b:
        print('i=', i)
print('over')
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-1-19 16:32:28 | 显示全部楼层
  1. import math as m
  2. print("你要的答案有:")
  3. for i in range(-100,10000):
  4.     if m.sqrt(i+100)%1==0 and m.sqrt(i+268)%1==0:
  5.         print("%d"%i)
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-1-25 16:36:16 | 显示全部楼层
import math
for i in range(10000):
    m=math.sqrt(i+100)
    n=math.sqrt(i+268)
    #if(type(m)==int and type(n)==int):#3.0 <class 'float'>【注】:开平方得到的即便是整数也会以浮点型的形式给出,所以这种做法不可行
    #print(math.ceil(4.2),math.ceil(-2.14),math.ceil(4.7),math.ceil(-4.92))#5 -2 5 -4
    #当m为整数是m == math.ceil(m)
    if(m == math.ceil(m) and n == math.ceil(n)):
        print(i)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-2-6 20:51:36 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2018-2-6 20:58:19 | 显示全部楼层
def sqrt_math():
                import math
                for i in range(-99,10000):
                                if(math.sqrt(i+100) % 1 == 0 and math.sqrt(i+268) % 1 == 0):
                                                print(i)

sqrt_math()
为什么除1求余才会运行开
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-2-19 10:33:57 | 显示全部楼层
  1. import math

  2. for i in range(1,10001):
  3.     a = int(math.sqrt(i+100))
  4.     b = int(math.sqrt(i+268))
  5.     if a*a == i+100 and b*b == i+268:
  6.         print (i)
  7.         break
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-2-19 14:44:55 | 显示全部楼层
import math
for a in range(1,10001):
    if isinstance(math.sqrt(a + 100),int) and isinstance(math.sqrt(a + 268),int):
        print(a)
我为何没打印出任何东西??
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-2-19 15:15:35 | 显示全部楼层
冻硬的苹果 发表于 2018-2-19 14:44
import math
for a in range(1,10001):
    if isinstance(math.sqrt(a + 100),int) and isinstance(math ...

已经知道了,math.sqrt求值后是浮点型,这样不会输出任何结果
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-2-24 21:40:01 | 显示全部楼层
import math
i = 0
while i <10000:
    if math.sqrt(i+100)%1==0 and math.sqrt(i+268)%1==0:
        print(i)
    i+=1
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-2-25 11:15:54 | 显示全部楼层
  1. for i in range(10000):
  2.     x = int((i + 100)**0.5)
  3.     y = int((i + 268)**0.5)
  4.     if x * x == i + 100 and y * y == i + 268:
  5.         print(i)
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-3-1 14:43:50 | 显示全部楼层
  1. import math
  2. lis = [i for i in range(0,101)]
  3. for j in lis:
  4.     for k in lis:
  5.         if j ** 2 - k ** 2 == 168:
  6.             print(k ** 2 - 100)
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-3-29 14:56

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表