鱼C论坛

 找回密码
 立即注册
123
返回列表 发新帖
楼主: 冬雪雪冬

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

[复制链接]
发表于 2018-2-9 22:08:52 | 显示全部楼层
  1. import math as m
  2. for i in range(1000000,99999999):
  3.     if i%11==0 and m.sqrt(i)==int(m.sqrt(i)) and len(set(str(i)))==8:
  4.                                             print(i)
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-3-17 21:50:52 | 显示全部楼层
import math
a=range(10000000,100000000)
g=[]
for b in a:
    g.append(b)
if len(set(g))==8 and int(g[0])+int(g[2])+int(g[4])+int(g[6])==int(g[1])+int(g[3])+int(g[5])+int(g[7]) and (int(math.sqrt(int(a))))**2==int(a):
    print(g)
else:
    print('没有这样的数')
   
        
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-3-31 00:46:24 | 显示全部楼层
  1. import itertools, math

  2. lst = itertools.permutations(range(10), 8)
  3. newlst = [x for x in lst if x[0] + x[2] + x[4] + x[6] == x[1] + x[3] + x[5] + x[7] and x[0] != 0]

  4. for i in newlst:
  5.     num = i[0] * 10 ** 7 + i[1] * 10 ** 6 + i[2] * 10 ** 5 + i[3] * 10 ** 4 + i[4] * 10 ** 3 + i[5] * 10 ** 2 + i[
  6.         6] * 10 + i[7]
  7.     result = math.sqrt(num)
  8.     if result == int(result):
  9.         print(num)

复制代码


360截图20180331004609902.jpg
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-5-6 09:41:22 | 显示全部楼层
import itertools as it
def fun():
    for i in it.permutations(["0","1","2","3","4","5","6","7","8","9"], 8):
        if i[0] == "0":
            continue
        else:
            odd = int(i[0])+int(i[2])+int(i[4])+int(i[6])
            even = int(i[1])+int(i[3])+int(i[5])+int(i[7])
            #print(odd)
            #print(i)
            if odd == even:
                #print(i)
                num = int("".join(i))
                if num**.5%1 == 0:
                    print(num)
fun()
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-3-19 11:08:54 | 显示全部楼层
  1. from itertools import permutations as per

  2. def fun127():
  3.     list1 = []
  4.     #1,每一位的数字都不相同。
  5.     for each in per(list(range(10)),8):
  6.         if each[0] != 0:
  7.             #2,第1,3,5,7位数字之后与第2,4,6,8位数字之和相等。
  8.             if sum([each[i] for i in range(0,8,2)]) == sum([each[i] for i in range(1,8,2)]):
  9.                 #3,此8位数是完全平方数,即其平方根为整数。
  10.                 temp = int("".join(str(j) for j in each))
  11.                 if pow(temp,0.5) == int(pow(temp,0.5)):
  12.                     list1.append(temp)

  13.     return list1


  14. print(fun127())
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-8-1 18:16:44 | 显示全部楼层
  1. def func():
  2.         l=[]
  3.         for i in range(int(10000000**0.5),int(99999999**0.5+1)):
  4.                 i=str(i**2)
  5.                 if len(set(i))==8 and sum(i[::2])==sum(i[1::2]):l.append(l)
  6.         return l
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-2-28 17:21:04 | 显示全部楼层
for i in range(1000, 10000):
    f = set(str(i * i))
    if '5' not in f and '0' not in f and len(f) == 8:
        arr = list(str(i * i))
        a = sum(map(int, arr[0::2]))
        b = sum(map(int, arr[1::2]))
        if a == b:
            print(i * i)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-23 15:59

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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