24小时热门版块排行榜    

查看: 1418  |  回复: 3
本帖产生 2 个 程序强帖 ,点击这里进行查看

holmescn

金虫 (正式写手)

[交流] Euler 工程 第三十二题:pandigital 数 已有2人参与

如果一个n位数包含1到n这n个数每个数字仅一次,那么我们称这个数为一个pandigital数。比如15234是一个5位的pandigital数。

7254这个数很特别,因为39x186=7254,其它的被乘数、乘数、积构成一个1到9的pandigital数。

找到所有的被乘数/乘数/积构成1到9的pandigital数的积,求这些积的和。

注意:有些积可以通过不同的乘数被乘数得到,不要多加了。
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

huycwork

金虫 (著名写手)

★ ★ ★
小木虫(金币+0.5):给个红包,谢谢回帖
余泽成(金币+2): 鼓励交流! 2011-06-26 00:15:32
这个题在考排列算法吗?
前面a个数乘以b个数得到c
复杂度不简单哪~
漩涡的中心有一块空地,空空的。
2楼2011-06-23 13:10:00
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

libralibra

至尊木虫 (著名写手)

骠骑将军

★ ★ ★
小木虫(金币+0.5):给个红包,谢谢回帖
jjdg(金币+2): 辛苦了 2011-06-23 23:03:35
余泽成(程序强帖+1): 2011-06-26 00:15:54
python的,我是暴力狂
CODE:
#!usr/bin/env python

from mytictoc import tic, toc

# 只有 #*#### 或者 ##*### 会产生 ####
# 否则 max(##*##) = 98*76 = 7448, len(98+76+7448)<9
# min(###*###) = 123*456 = 56088, len(123+456+56088)>9
# ##############
# 子函数,如果a,b,a*b包含1-9,返回true
def testProduct(a,b):
    if len(str(a)+str(b)+str(a*b))==9:
        return set(str(a)+str(b)+str(a*b))==set('123456789')
    else:
        return False

def euler32():

    tic()
   
    # 第一种情况: #*####
    num14 = [i*j for i in xrange(2,9) for j in xrange(1234,9876) if testProduct(i,j)]
   
    # 第二种情况: ##*###
    num23 = [i*j for i in xrange(12,98) for j in xrange(123,987) if testProduct(i,j)]

    # 组合2个list
    num14.extend(num23)
   
    # 打印结果
    print sum(list(set(num14)))

    toc()

if __name__=='__main__':
    euler32()

结果
CODE:
45228
Elapsed time: 0.32048878 seconds

[ Last edited by libralibra on 2011-6-23 at 15:02 ]
matlab/VB/python/c++/Java写程序请发QQ邮件:790404545@qq.com
3楼2011-06-23 15:01:23
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

holmescn

金虫 (正式写手)

★ ★ ★
余泽成(金币+3, 程序强帖+1): 鼓励交流! 2011-06-26 00:16:10
改进版的穷举,python版
CODE:
from itertools import permutations

numbers = set(range(1,10))
results = []

for num in permutations(numbers, 4):
    n = int("%d"*4 % num)

    subset = numbers - set(num)

    # for #*####
    for x in subset:
        if n % x == 0:
            div = set([int(c) for c in str(n/x)])
            if len(div) == 4 and x not in div and div.issubset(subset):
                results.append(n)
                print "%d*%d=%d" % (x, n/x, n)
                break

    # for ##*###
    for x in permutations(subset, 2):
        xx = int("%d"*2 % x)
        if n % xx == 0:
            div = set([int(c) for c in str(n/xx)])
            if len(div) == 3 and x[0] not in div and x[1] not in div and div.issubset(subset):
                results.append(n)
                print "%d*%d=%d" % (xx, n/xx, n)
                break

print sum(set(results))

有些逻辑还是太啰嗦,没有找到数学上更好的表达。有待改进。
4楼2011-06-25 21:32:54
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 holmescn 的主题更新
普通表情 高级回复 (可上传附件)
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考博] 上海工程技术大学激光智能制造课题组招收博士研究生 +4 两三岁ss 2026-09-14 4/200 2026-09-14 20:29 by 班主任的同桌
[考研] 售SCI一区T0P文章,我:8.O.55.1.O54,科目全,可伽急 +3 s3fFTmArrBt6 2026-09-14 3/150 2026-09-14 18:01 by Aj1rhIDL5ixY
[考博] 售SCI一区T0P文章,我:8O.55.1.O.5.4,科目齐全,可+急 +3 s3fFTmArrBt6 2026-09-14 4/200 2026-09-14 17:49 by Aj1rhIDL5ixY
[考博] 售SCI一区文章,我:8O5.5.1.O5.4,科目全,可伽急 +4 s3fFTmArrBt6 2026-09-14 4/200 2026-09-14 17:25 by Aj1rhIDL5ixY
[教师之家] 售SCI一区T0P文章,我:8.O.55.1.O.54,科目齐全,可+急 +4 3n8v2C8RimXI 2026-09-13 4/200 2026-09-14 15:48 by Aj1rhIDL5ixY
[考研] 售SCI一区T0P文章,我:8.O.55.1.O54,科目全,可伽急 +3 3n8v2C8RimXI 2026-09-13 4/200 2026-09-14 15:45 by Aj1rhIDL5ixY
[考博] 售SCI文章,我:8O.5.5.1O.54,科目全,可十急 +4 3n8v2C8RimXI 2026-09-13 4/200 2026-09-14 15:37 by Aj1rhIDL5ixY
[找工作] 售SCI一区T0P文章,我:8.O.55.1.O.5.4,科目全,可+急 +5 QUjhNVAcOSff 2026-09-13 6/300 2026-09-14 15:21 by Aj1rhIDL5ixY
[考博] 售SCI文章,我:8O5.5.1.O.54,科目齐全,可+急 +4 QUjhNVAcOSff 2026-09-13 4/200 2026-09-14 15:13 by Aj1rhIDL5ixY
[博后之家] 售SCI一区T0P文章,我:8O.55.1.O.54,科目全,可伽急 +3 QUjhNVAcOSff 2026-09-13 4/200 2026-09-14 15:01 by Aj1rhIDL5ixY
[公派出国] 售SCI一区T0P文章,我:8.O55.1.O.54,科目全,可十急 +4 QUjhNVAcOSff 2026-09-13 6/300 2026-09-14 15:00 by Aj1rhIDL5ixY
[考研] 售SCI一区文章,我:8.O.551.O.5.4,科目全,可伽急 +3 QUjhNVAcOSff 2026-09-13 3/150 2026-09-14 14:57 by Aj1rhIDL5ixY
[基金申请] 求教各位大神:2026教育部人文社科青年基金项目何时公示呀? +5 云宴山人 2026-09-10 7/350 2026-09-14 12:11 by ecnu2013
[找工作] 浙江师范大学是怎么坑我的 +6 recruit123 2026-09-09 6/300 2026-09-14 12:00 by 萨仁其其格
[博后之家] 售SCI一区T0P文章,我:8.O.55.1.O.5.4,科目全,可+急 +3 QUjhNVAcOSff 2026-09-13 3/150 2026-09-14 10:11 by 23jxep3nCNZb
[考研] 售SCI一区文章,我:8.O.551.O.5.4,科目全,可伽急 +3 QUjhNVAcOSff 2026-09-13 4/200 2026-09-14 10:01 by 23jxep3nCNZb
[考博] 西北工业大学材料学院电化学传感与催化课题组招收2027年推免研究生、博士生、博士后 +3 马方园 2026-09-10 4/200 2026-09-14 09:29 by Chem张zz
[考博] 27秋季材料博士申请求助 10+3 Cahal1 2026-09-11 4/200 2026-09-14 08:50 by 北京莱茵编辑
[教师之家] 浙江师范大学是怎么坑我的 +10 recruit123 2026-09-09 15/750 2026-09-13 10:45 by seaskyy
[基金申请] 面上有专家说实验设备不是我们单位的 +6 zj_muchong 2026-09-08 8/400 2026-09-11 06:56 by suifengdao
信息提示
请填处理意见