specail 发表于 2021-10-21 11:42:58

for t in range(33,100):
    k = t * t
    strk = str(k)
    if strk == strk and strk == strk:
      print(strk)
我把数字转化成字符串比较。

yjhxjhm 发表于 2021-10-21 20:57:09

加油学习

游刃鱿鱼 发表于 2021-11-5 11:24:29

for a in range(0,10):
    for b in range(0,10):
      if a != b and type((a*1000+a*100+b*10+b)**(0.5)) == int:
            print(a,b)

请问这样写为什么不行啊!

hornwong 发表于 2021-11-5 18:53:10

{:5_95:}

春风亭朝小树 发表于 2021-11-19 17:48:46

for a in range(0,10):
      for c in range(0,10):
            if (1000*a+100*a+10*c+c==i*i for i in range(32,100) and a!=c):
             print (a,c)
我想问下为什么for in 写进if里面就不行,是if判断不支持表达式吗?

1518355722 发表于 2021-11-21 14:14:38

11

我叫武炜昊 发表于 2021-12-19 20:24:27

{:5_109:}

qddy 发表于 2021-12-25 22:42:12

1

2460079737 发表于 2021-12-27 01:04:48

66666

zh_shun 发表于 2021-12-27 12:57:44

zttwm 发表于 2021-8-10 01:46
分析了一下,末位2位一致的完全平方数,末位只能是44,然后尾数为44只能是个位数和十位数造成。
所以,数 ...

这个顺序有什么讲究吗,为什么不是12 38 62 88 依次输出

走开啦 发表于 2022-1-3 18:03:18

!!!

与森逐鹿 发表于 2022-1-10 15:47:31

我看到这个,第一反应是把所有aabb的数字放到一个集合里头,然后把(33,100)的数字挨个for i in list里头比对。感觉这样条理会比穷举的一路到底清晰一点{:10_247:}

list1 = []
a=1
while a <= 9:
    b = 0
    while (b<=9):
      if a!= b:
            list1.append(a*1100 + b*11)
            b+=1
      else:
            b+=1
    a+=1

print(list1)
print(len(list1))

c= 33
while c <100:
    for num in list1:
      if c*c == num:
            print(c,num)
    c+=1

fxl881116 发表于 2022-1-19 18:06:34

学习!@

HJK- 发表于 2022-1-25 11:11:57

a=1
d=0
for a in range(1,10):
    for d in range(10):
      e = 1000*a+100*a+10*d+d
      for k in range(34,100):
            if ((e==k*k)and(a != d)):
                print(a,a,d,d)

lv_vl 发表于 2022-2-16 11:13:43

00

shiyouroc 发表于 2022-2-16 14:15:23

嘿嘿嘿嘿嘿嘿嘿嘿

sdjnszqst 发表于 2022-2-16 16:43:11

前来学习

LXX梧桐 发表于 2022-3-11 10:57:52

Hyjxsssss 发表于 2022-5-2 19:55:31

# 题干:请根据以下线索找出我手机号 1239098xxxx 的后 4 位
# 前两位数字相同 a == b
# 后两位数字相同,但与前两位不同 c == d
# 4位数字刚好是一个整数的平方 a*1000 + b*100 + c*10 + d = t*t

import time as t
class Mytimer:
    def calculate(self, inputfun):
      self.begin = t.process_time()
      inputfun()
      self.end = t.process_time()
      self.uset = self.end - self.begin
      print('运行程序耗时%.5f 秒' % self.uset)

def searchtele():
    import math as m
    limitleft = int(m.sqrt(1000))
    limitright = int(m.sqrt(9999))

    for a in range(0, 10):
      for b in range(0, 10):
            for t in range(limitleft+1, limitright+1):
                if (a!=b) and (a*1000+a*100+b*10+b==t*t):
                  print('手机号后四位分别是 %d %d %d %d' % (a,a,b,b))
                else:
                  pass

t1 = Mytimer()
t1.calculate(searchtele)

语与余 发表于 2022-11-13 19:05:04

for i in range(1,10):
    for j in range(0,10):
      if i != j:
            k = eval(f'{i}{i}{j}{j}')
            for t in range(34,100):
                if k == t**2:
                  print(k)
页: 1 [2] 3
查看完整版本: 01 - 女神的手机号