|
发表于 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) |
|