鱼C论坛

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

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

   关闭 [复制链接]
发表于 2017-4-21 16:04:06 | 显示全部楼层
solomonxian 发表于 2017-4-19 18:38
整数%1得0, 小数会带尾巴

明白了,多谢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-5-11 08:03:50 | 显示全部楼层

import math
for i in range(1,10001,1):
    if math.sqrt(i+100)%1 == 0 and math.sqrt(i+268)%1 == 0:
        print(i)

还是这种好
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-5-21 21:35:55 | 显示全部楼层
for i in range(10000):
    for j in range(i):
        if j*j==i+100:
            for k in range(j+1,i):
                if k*k==i+268:
                    print(i)
看了各位大佬的代码,发现都大同小异,那我要做一股清流。。。嗯,没用到math模块,基本思路就是逆推,但速度明显慢了,还是各位大大的代码好
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-5-25 13:51:52 | 显示全部楼层
i = 100
while i:
        if (i*i+168)**0.5 % 1 == 0:
                print(i*i-100)
        i -= 1
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 0 反对 1

使用道具 举报

发表于 2017-5-25 16:59:40 | 显示全部楼层
import math
for i in range(1,10000):
      x=(math.sqrt(i+100))
      y=(math.sqrt(i+268))
      if x%1==0 and y%1==0:
            print(i)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-6-5 15:25:53 | 显示全部楼层
import math

for i in range(-99,10001):
    a = math.sqrt(i+100)
    b = math.sqrt(i+268)
    if (a == a//1 and b ==b//1):
        print(i)

做这个题的时候有问题请教楼主:
1.是否所有的模块都可以直接import,比如说爬虫类的模块!
2.这一题楼主说math模块,但是我在网上搜都比较杂乱,好在都简单,如果我以后看到其他模块的名字觉得这个模块有用,一般是怎么看这么模块的用法!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-7-16 15:50:35 | 显示全部楼层
from math import sqrt
print([x for x in range(10000) if (int(sqrt(x+100)))**2==x+100 and (int(sqrt(x+268)))**2==x+268])
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2017-8-12 13:48:51 | 显示全部楼层
import math

for i in range(1,10000):
    x = int(math.sqrt(i + 100)) # 用int直接取整,只有完全平方数得到的整数相乘才是平方数本身
    y = int(math.sqrt(i + 268))
    if (x*x == i + 100) and (y*y == i + 268):
        print(i)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-8-18 08:47:15 | 显示全部楼层
print("---------10000以内一个整数,加100和加268后都是完全平方数----------")

flag = 0
for x in range(0,10000):
    if ((x + 100)**0.5)%1 == 0 and ((x + 268)**0.5)%1 == 0:
        a = (x + 100)**0.5   #加100是哪个数的平方
        b = (x + 268)**0.5   #加268是哪个数的平方
        print(x,a,b)
        flag += 1

print("0~10000中共有此类整数个数为:")
print(flag)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-9-4 23:12:08 | 显示全部楼层
import math

for number in range(-100,100000):
    # To determine whether a number in an int
    if (math.sqrt(number + 100) % 1 == 0) and (math.sqrt(number + 268) % 1 == 0):
        print number
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-9-5 11:20:04 | 显示全部楼层
for a in range(10000):
        for b in range(10000):
                if b*b-a*a == 168:
                        print (a,b)
                        print (a*a-100)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-9-5 13:11:55 | 显示全部楼层
import math
for i in rang(10000):
        if math.sqrt(i+100)%1 == 0 and math.sqrt(i+268)%1 == 0:
        print(i)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-9-11 10:40:18 | 显示全部楼层
from math import sqrt

begin = int(sqrt(268) + 1)
end = int(sqrt(10000) + 1)
for x in range(begin,end):
    for y in range(0,x):
        if x * x - y * y == 168:
            print('两个平方根分别是 ' + str(x) + ', ' + str(y))
            print('该数可以是 ' + str(x*x - 268))
            break
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-9-13 15:43:24 | 显示全部楼层
import math
for i in range(1,10000):
        a = int(math.sqrt(i+100))
        b = int(math.sqrt(i+268))
        if a**2 == i+100 and b**2 == i+268:       
                print(i)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-9-13 17:11:46 | 显示全部楼层
import math
for i in range(10000):
    if math.sqrt(i + 100) == int(math.sqrt(i + 100)) and math.sqrt(i + 268) == int(math.sqrt(i + 268)):
        print(i)
        break
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-9-17 00:53:16 | 显示全部楼层
# -*-coding:gbk-*-
__author__ = 'chennan'
import math
for i in range(1,10000):
    n1=math.sqrt(i+268)
    n2=math.sqrt(i+100)
    if math.trunc(n1)==n1 and math.trunc(n2)==n2:
        print(i)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-9-17 00:55:40 | 显示全部楼层
# -*-coding:gbk-*-
__author__ = 'chennan'
import math
for i in range(1,10000):
    n1=math.sqrt(i+268)
    n2=math.sqrt(i+100)
    if math.trunc(n1)==n1 and math.trunc(n2)==n2:
        print(i)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-9-25 15:42:05 | 显示全部楼层
import math

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

使用道具 举报

发表于 2017-10-26 12:35:18 | 显示全部楼层
mport math
for i in range(1,10001,1):
    if math.sqrt(i+100)%1 == 0 and math.sqrt(i+268)%1 == 0:
        print(i)
支持22楼
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-11-9 21:41:45 | 显示全部楼层
t=[]
for m in range(168):
    for n in range(m):
        if m**2-n**2==168:
            x=n**2-100
            t.append(x)

print('符合条件的整数有:',t)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-6-18 14:45

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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