斐波那契素数
2010年10月29日
8对“斐波那契素数”的反应
-
2010年10月29日上午9:52 〔…〕Praxis–Fibonacci Primes By Remco Niemeijer今天的编程Praxis练习与〔…〕中最长的回文练习来自相同的挑战 -
2010年10月30日10:25 PM 我承认,我在格雷普林挑战赛中使用了Sage(见sagemath.org)的甜美内置例程。 这当然是作弊。 祝贺雷姆科获得令人印象深刻的哈斯克尔,也祝贺你的计划能力和 优秀的博客。 -
2010年10月31日上午5:08 该死,我的代码和Remco的太相似了: 导入合格数据。 数字。 素数为P fibs::[整数] fibs=0:1:zipWith(+)fibs(尾部fibs) smallestFibPrimeAfter::Integer->Integer smallestFibPrimeAfter lowBound=头部。 dropWhile(\a->不是.P.isPrime$a)。 筛选器(>下限)$fibs 因子::整数->[整数] 系数x=1:系数x 2 哪里 因子'nf|f>=(n`div`2)=[n] |n`mod`f==0=f:factors'(n`div`f)(f+1) |否则=系数n(f+1) 主::IO() main=打印。 显示。 总和。 因素。 (+ 1) . 227000美元后的最小FibPrime -
2010年11月1日凌晨4:53 ;; 问题的说明不完整。 ;; 你想要的是(唯一的)*prime*因子,而不是因子(除数) ;; 我将规范解读为(因子12)=>(1 2 3 4 6 12) ;; 而你所期望的(因子12)=>(23) ;; 关于这个问题,所举的例子毫无帮助 ;; 因为14是两个素数的乘积。 ;; 尾部递归 (define(fib n#!可选(g 0)(d 1)) (如果(=0 n) 克 (fib(-n 1)d(+g d)) ;; 不包括1和自己 ;; 很天真,但不完全 (定义(系数n) (出租(tmax(楼层(平方米))) (let循环((i 2)) (如果(>i tmax) ‘() (如果(零?(模n i)) (cons i(cons(商n i)(循环(+i 1))) (回路(+i 1))) ;; 效率低下,因为我们已经完成了大部分计算 (定义(质数?n) (and(not(=1 n))(null?(因子n))) (定义(运行n) (让循环((i 2)) (让(f(fib i)) (如果(>=f n) (如果(null?(因子f));; 首要的 (应用+(过滤素数?(系数(+1 f))) (循环(+i 1)) (循环(+i 1))))) (运行227000);;=> 352 -
2010年11月14日上午5:14 -
2012年8月27日9:20 PM 红宝石溶液( http://codepad.org/zOatd6NO )