鱼C论坛

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

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

[复制链接]
发表于 2018-2-9 22:08:52 | 显示全部楼层
import math as m
for i in range(1000000,99999999):
    if i%11==0 and m.sqrt(i)==int(m.sqrt(i)) and len(set(str(i)))==8:
                                            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 | 显示全部楼层
import itertools, math

lst = itertools.permutations(range(10), 8)
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]

for i in newlst:
    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] * 10 + i[7]
    result = math.sqrt(num)
    if result == int(result):
        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 | 显示全部楼层
from itertools import permutations as per

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

    return list1


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

使用道具 举报

发表于 2019-8-1 18:16:44 | 显示全部楼层
def func():
        l=[]
        for i in range(int(10000000**0.5),int(99999999**0.5+1)):
                i=str(i**2)
                if len(set(i))==8 and sum(i[::2])==sum(i[1::2]):l.append(l)
        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, 2025-1-12 03:51

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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