File: qa-longnum

package info (click to toggle)
newlisp 10.7.5-2
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, bullseye, forky, sid, trixie
  • size: 6,248 kB
  • sloc: ansic: 33,280; lisp: 4,181; sh: 609; makefile: 215
file content (34 lines) | stat: -rwxr-xr-x 1,734 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
#!/usr/bin/env newlisp

(unless bigint
    (println "this version is not enabled for big integers")
    (exit))

(set 'num 1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890)

(println "1000 digit number num --->")
(println num)
(println)

(set 'cien 1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890)

(set 'result (* num num))

(println "(* num num) --->")
(println result)
(println)

(println "sum of " (length result) " digits in result --->" 
            (apply + (map int (explode (chop (string result))))))
(println)

(unless (= num (/ result num))
    (println "(/ result num) ---> " (/ result num))
    (println ">>>>> ERROR in parsing big integers")
    (exit)
)

(println ">>>>> parsing big integers SUCCESSFUL")

(exit)