加载中…
个人资料
用户1936661593
用户1936661593
  • 博客等级:
  • 博客积分:0
  • 博客访问:162,680
  • 关注人气:7
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
相关博文
推荐博文
正文 字体大小:

欧拉小题41

(2013-07-15 23:48:14)
标签:

杂谈

欧拉小题

题目简述

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, 2143 is a 4-digit pandigital and is also prime.

What is the largest n-digit pandigital prime that exists?

大体意思就是说1到n几个数字组成的一个数字叫做“盘数”,这个盘数有且仅有一次1到n这几个数,比如2143,就是1到4的盘数。问最大既是盘数也是质数的数是多少。

解答

写在这里,首先1到8的盘数肯定都不是质数,因为都可以被3整除。同理1-9的盘数也可以被3整除。于是可以从7开始看。

首先是全排列,这篇文章讲述了一个递归求全排列的方法,然后从大到小排列,找到哪个数是质数就好.

至于计算质数,简单的方法就是除以根号下到2所有奇数,以及2,都不能整除则为质。还有python里面提供了gmp库的一个很牛逼的计算质数的方法。这里是他的帮助文档。我简单读了读,貌似是通过“猜”的方法,分析某个大数是否是质数。不过这里的计算就太小儿科了,根本用不着。

代码见

0

阅读 评论 收藏 转载 喜欢 打印举报/Report
  • 评论加载中,请稍候...
发评论

    发评论

    以上网友发言只代表其个人观点,不代表新浪网的观点或立场。

      

    新浪BLOG意见反馈留言板 电话:4000520066 提示音后按1键(按当地市话标准计费) 欢迎批评指正

    新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 会员注册 | 产品答疑

    新浪公司 版权所有