找回密码
 注册
Simdroid-非首页
查看: 113|回复: 1

[欧拉习题] 解题发挥 Euler Project 10 + 35 + 37 ---- 论数据库搜索的效率

[复制链接]
发表于 2008-12-18 15:37:24 | 显示全部楼层 |阅读模式 来自 江苏无锡
解题发挥 Euler Project 10 + 35 + 37  ---- 论数据库搜索的效率

Euler Project 10 + 35 + 37 ,为同样的问题!都是有关素数。

我整理了一下思路,同各位会员分享!有错误请指正或是更好的方法请补充。

Euler Project 10 ,十分简单,是基础。

Euler Project 35 + 37  类似问题,思路相同。

仅以 35  为例:

The number, 197, is called a circular prime because all rotations of the digits : 197, 971, and 719, are themselves prime.
There are thirteen such primes below 100 : 2, 3, 5, 7, 11, 13, 17, 31, 37, 71, 73, 79, and 97.
How many circular primes are there below one million?


详情见附件!

[ 本帖最后由 FreddyMusic 于 2008-12-18 15:41 编辑 ]

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
发表于 2009-12-13 20:40:49 | 显示全部楼层 来自 甘肃兰州
Simdroid开发平台
  1. In[17]:= lis = {}; For[i = 9, Length[lis] < 11, i += 2,
  2. If[Union@PrimeQ[
  3.       NestList[FromDigits[Rest[IntegerDigits[#]]] &, i,
  4.        IntegerLength[i] - 1]] == {True} &&
  5.    Union@PrimeQ[
  6.       NestList[FromDigits[Delete[IntegerDigits[#], -1]] &, i,
  7.        IntegerLength[i] - 1]] == {True}, lis = Append[lis, i]]]; lis

  8. Out[17]= {23, 37, 53, 73, 313, 317, 373, 797, 3137, 3797, 739397}

  9. In[18]:= Total[%]

  10. Out[18]= 748317
复制代码
这是37题的解法,不过怎么觉得这个代码这么长啊?怎么写短一些,那个纯函数如何嵌套,或者说如何分层次?

评分

1

查看全部评分

回复 不支持

使用道具 举报

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

本版积分规则

Archiver|小黑屋|联系我们|仿真互动网 ( 京ICP备15048925号-7 )

GMT+8, 2024-4-24 03:46 , Processed in 0.042112 second(s), 14 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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