-
Notifications
You must be signed in to change notification settings - Fork 22
/
Copy pathqa-longnum
executable file
·34 lines (23 loc) · 1.69 KB
/
qa-longnum
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
#!/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)