|
From: | Noah Lavine |
Subject: | bug#13031: large numbers |
Date: | Thu, 29 Nov 2012 14:08:45 -0500 |
Hi,
It looks that guile returns incorrect results when it works with really big numbers.
I've found it during resolving problem 48 from Project Euler:
http://projecteuler.net/problem=48
The solution is trivial:
(define (problem-48 limit)
(define (F)
(let loop ((n 1)
(sum 0))
(if (<= n limit)
(loop (+ n 1) (+ sum (expt n n)))
sum)))
(let* ((str (number->string (F)))
(len (string-length str)))
(substring str (- len 10) len)))
(display (problem-48 1000))
(newline)
The proper answer is 9110846700 but guile returns 6457854188
I've tested solution under other scheme implementations (MIT scheme, petite and mzscheme) and it works as it should.
Does such a big numbers in guile require any special treatment or just they are not supported?
Best,
Jozef
[Prev in Thread] | Current Thread | [Next in Thread] |