博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
EularProject 32: 数字1-9排列构成乘法等式
阅读量:5275 次
发布时间:2019-06-14

本文共 1216 字,大约阅读时间需要 4 分钟。

Pandigital products

Problem 32
We shall say that an n-digit number is pandigital if it makes use of all the digits 1 to n exactly once; for example, the 5-digit number, 15234, is 1 through 5 pandigital.

The product 7254 is unusual, as the identity, 39 × 186 = 7254, containing multiplicand, multiplier, and product is 1 through 9 pandigital.

Find the sum of all products whose multiplicand/multiplier/product identity can be written as a 1 through 9 pandigital.

HINT: Some products can be obtained in more than one way so be sure to only include it once in your sum.

Answer:

45228
Completed on Sat, 25 Jul 2015, 15:13
python code:

from math import sqrtdef func(x):    s0=set(str(x))    for i in range(2,min(100,int(sqrt(x)+1))):        if x%i==0:            s1=set(str(i))            s2=set(str(x//i))            s=s0|s1|s2            if len(s)==9 and '0' not in s:                return True    return Falseresult=0for i in range(1000,9999):    Pstr=str(i)    if len(set(Pstr))==4 and '0' not in Pstr:        if func(i):            result+=i            print(i)print(result)

这里由于要求乘积不能反复,能够考虑对乘积候选项循环推断,把满足条件的加起来,而且非常easy反证证明乘积项数字位数仅仅能为4。

数字1-9是一个有趣的问题,很多其它问题能够參考

转载于:https://www.cnblogs.com/llguanli/p/8692611.html

你可能感兴趣的文章
BZOJ2212——线段树合并
查看>>
背包九讲之四(混合三种背包问题)
查看>>
radio选中
查看>>
uva 725 Division(暴力模拟)
查看>>
上传文件、上传按钮、Form组件上传文件
查看>>
一个项目中既有移动端,同时也有PC端的代码,并且 他们的代码分开写的,那么如何实现在手机跳转手机页面,pc点击跳转pc页面...
查看>>
无限循环小数POJ1930
查看>>
如何选择适合自己公司的移动办公系统?
查看>>
Linux下批量添加用户的两种方法
查看>>
JS-DOM
查看>>
ubuntu install wiznote
查看>>
nginx 入门配置
查看>>
poj 1014 Dividing 【多重背包】
查看>>
Mysql初始化root密码和允许远程访问
查看>>
Selenium环境搭建
查看>>
37.数字在排序数组出现的次数
查看>>
intellijidea课程 intellijidea神器使用技巧 6-1 Spring的关联
查看>>
了解keycode
查看>>
自测题.
查看>>
实现 memcpy
查看>>