斐波那契素数
2010年10月29日
8对“斐波那契素数”的反应
-
2010年10月29日上午9:52 […]实践——Remco Niemeijer编写的斐波那契初级读物今天的编程实践练习与[…]中最长的回文练习面临同样的挑战 -
2010年10月30日10:25 PM 我承认,我在参加Greplin挑战赛时使用了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)。 过滤器(>lowBound)$fibs 因子::Integer->[Integer] 系数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)=>(2 3) ;;关于这个问题,给出的示例毫无帮助 因为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) (let循环((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 )