Ticket #579: numbers-error.txt

File numbers-error.txt, 15.6 KB (added by Christian Kellermann, 13 years ago)
Line 
1
2
3(use numbers)
4(use srfi-13)
5
6(define (sum-of-exponents n lim)
7  (if
8    (> n lim)
9      0
10      (+ (expt n n) (sum-of-exponents (+ n 1) lim))))
11
12;(print (string-take-right (number->string (sum-of-exponents 1)) 10))
13(print (number->string (sum-of-exponents 1 1000)))
14
15Another try with standard functions
16
17(use srfi-1 numbers)
18(print (fold (lambda (n s) (+ s (expt n n))) 0 (iota 1000 1)))
19
20Results differ from chicken and racket
21
22Chicken:
231000368199144695179321853246561162462037174913072754024815916376508857792761504857546081923793595736743435072461752699261858577456754527443574589232142365008180392223179050903954973657586143823453371865802933508854843259026601230043954460909615770476811971684829966159959593400794802955477700690648431136177037222667104172337721233413948246552127296159599391828306544573171351805468152941695028416614384642800464664138551603857737096605347266990313770414914861498373590645668900354397600735445011233916050994194683609685724305223679258463883394028706290649534500741171589603375494518654044758915248810727291261406232176095041407312822014393054021755673167674381782576316318943197012446468287537185830032251803827996105973248190444452248081311760017014825250236230684796906611481302542308374538149761460259240827231840707159148476231482479149669912049007288372122936766222950312960803671396661618551195435316357507893552764477439029796303012230179750643157690720830924567944827647069053009522490409122490442427309413789364643136256332892900305306205082078106010302108891255396188028293326016102831822901893146837475155338094778807584878728846956465306485539159442869448853072227101954123370952232927804963607455555254803501944877480275181312389158169174360215822027188082357117028484718464258658069561306492773859992838362255041033956156276963154751693128361270494838224153700059986634229463914186430937965593711439066744269717620493709133202657415437305645041941248820280077245321884007503570834741239981151505233009570719255937310820362614367154804762137599776465676565313394938470991849009772679488418008423895163727781459751802495443500480294275037634587403835995111515852503367165037849092648395090429154893580381582916681808130914209130729878468323482210995341427662810770978664247746782761249417859227768331798592172360198752560702430851259971233002543651417470460498514020842444239585971502519199732463916781218733058608510260727741150081452936211490015211399108768558569414840995393070470035400155816654237092396011533391669186967246614241423577344359585785871269154970736023938067751590192574406550987111725807653870669892902020782749202953767359549812657466343384830581280298731525265676280988380747375832017816329457456845633487365357594018434014452556219202277655198825180227896247340916337035421410103417445998350736089522200652930006599195384715492767796973418457704935432478799354991156989217192840134491802505217964009744645348376380648379172526524635729458396083680715845489584089808274963741710937814364697097914856793569946516010724000099578563015202744768232352251467529022731765475729678348530216057972038452083747345961971782024761026705915327521766217773282057232170137359834313684664454492824909359427957201223505358832776605707901320283135396231124800636996668185200867082701686364726919240291620641731104177496924075961982973721356137459367359260472377758221961191730898423750927339589292828824945727415341546345128615099526318442361472237201778944112638876330639011935896489
24
25Racket:
261000368199144695177095375011227646795567793680622934654583760988100234910747716194381428659099527845945869942643191290894720342979906407679647259860434238468038326040809691037615370376237713648510063115732951461774246705584266865759601815843666442832284556880313114548151539190975398485496645576513465858582712336401166221956188173449531674102688908321764663020306699770408625340766091595022791379368098369306375602813856646358773751558775213460225796579846583334007349358624342339332981334571237888809283103348760261360175950815609179464026871005243652109980863552142014242903434068560936573231079342194031864413918101238151056509267393515760392842472501391594073463001521843811073767021711026307504695733467897821866906648469828346607412967395801797791683609834722432241952845352564681868240369569566192825555323558078061997527689983848863374786789331581565252059172614339424600986143259233167583371070362625554531852054166117148858229508581589614337594463277554380518380921301218836327102231407332201109740102580216469298331766920619646083790732807627360614428085171565006289728508688964226799647192582924058589530750674578385365561878559589685756225692348914746922810913915619834754117648358035814128670294158565669942087736286390942241547226015004471330630113072042704288905042142628193771918594574302202147201188486345913190833752307476966010547423928871063118783026036381319039052008252072057933666712918946233312793697094074224187872045970976444309242782187738320257490080824330074991698698239561125811127607863900355221737846690567707344074494145266662103839812840216303448476913957072355732716627098372245223046792919747259113157425824064858331415400943278213042954635053574045209984512221264241903550178416824551412548637590007779082539288247751653566899882749594405895102587985539527709493510049546445427265617478399107188238681771215904234119392247489751079085948055945098805617963722928469554263782217625160428008228845552540344494860195267115187092227766195753907211126646150140614744233974765273475619964311852858614167819668340124730487710162006793529985758820653677274379563313495454526632718723482339494825759821076401694316043456512117937935456463521463021197726694983558929132357576188594977516630734212863869456164205525536767311298137182511494649463663073759219213056823561667776093739425742883930712609962163464088038826569132032160692637206183085942987973684584276491784843115472077900401692595694119273553511025991265446039366288921743581333200083717105241171504606883543418862024047552177055263424469501298905901938158245938633694105024815166679813689156668341197713475094389904887126794468901893850475050011205225742455555625750560213230387910337983950333245020653238989115507013882956277763880795687210857196493893142656713105966275422144605988058939600603604226921401402096519294250488670297983396353279460453142375542267881989197481789780678955093763193658603690898474826976906544473978017455720367929981796023041785852626797271283465789498383642350667978127819110846700
27
28scheme48's opinion about this
29
303> ,open srfi-1
317> (fold (lambda (n s) (+ s (expt n n))) 0 (cdr (iota 1001)))
321000368199144695177095375011227646795567793680622934654583760988100234910747716194381428659099527845945869942643191290894720342979906407679647259860434238468038326040809691037615370376237713648510063115732951461774246705584266865759601815843666442832284556880313114548151539190975398485496645576513465858582712336401166221956188173449531674102688908321764663020306699770408625340766091595022791379368098369306375602813856646358773751558775213460225796579846583334007349358624342339332981334571237888809283103348760261360175950815609179464026871005243652109980863552142014242903434068560936573231079342194031864413918101238151056509267393515760392842472501391594073463001521843811073767021711026307504695733467897821866906648469828346607412967395801797791683609834722432241952845352564681868240369569566192825555323558078061997527689983848863374786789331581565252059172614339424600986143259233167583371070362625554531852054166117148858229508581589614337594463277554380518380921301218836327102231407332201109740102580216469298331766920619646083790732807627360614428085171565006289728508688964226799647192582924058589530750674578385365561878559589685756225692348914746922810913915619834754117648358035814128670294158565669942087736286390942241547226015004471330630113072042704288905042142628193771918594574302202147201188486345913190833752307476966010547423928871063118783026036381319039052008252072057933666712918946233312793697094074224187872045970976444309242782187738320257490080824330074991698698239561125811127607863900355221737846690567707344074494145266662103839812840216303448476913957072355732716627098372245223046792919747259113157425824064858331415400943278213042954635053574045209984512221264241903550178416824551412548637590007779082539288247751653566899882749594405895102587985539527709493510049546445427265617478399107188238681771215904234119392247489751079085948055945098805617963722928469554263782217625160428008228845552540344494860195267115187092227766195753907211126646150140614744233974765273475619964311852858614167819668340124730487710162006793529985758820653677274379563313495454526632718723482339494825759821076401694316043456512117937935456463521463021197726694983558929132357576188594977516630734212863869456164205525536767311298137182511494649463663073759219213056823561667776093739425742883930712609962163464088038826569132032160692637206183085942987973684584229893037637606072518029462732249008429693023731520615823090161040306811254650240897519417925524793281009060534365838577742470625430469256097476239647519653004467055142401112041694552878658294436977292889864778056018109654978308613978283830665598605258940725924365726824581946742587726592053354685715867523801789572166200795225833399144019282491344879695396382203206614451794078179306947052118619237604383491680364166968626246441378248232962667233580852390918615150442988018723803235183659246873880623828198852506533437924514882816793709556531286392220611262339716920988739971993754667583587280883974430950612504812
33
34gosh
35
36gosh>
37
38(define (sum-of-exponents n lim)
39  (if
40    (> n lim)
41      0
42      (+ (expt n n) (sum-of-exponents (+ n 1) lim))))
43sum-of-exponents
44gosh> (print (number->string (sum-of-exponents 1 1000)))
451000368199144695177095375011227646795567793680622934654583760988100234910747716194381428659099527845945869942643191290894720342979906407679647259860434238468038326040809691037615370376237713648510063115732951461774246705584266865759601815843666442832284556880313114548151539190975398485496645576513465858582712336401166221956188173449531674102688908321764663020306699770408625340766091595022791379368098369306375602813856646358773751558775213460225796579846583334007349358624342339332981334571237888809283103348760261360175950815609179464026871005243652109980863552142014242903434068560936573231079342194031864413918101238151056509267393515760392842472501391594073463001521843811073767021711026307504695733467897821866906648469828346607412967395801797791683609834722432241952845352564681868240369569566192825555323558078061997527689983848863374786789331581565252059172614339424600986143259233167583371070362625554531852054166117148858229508581589614337594463277554380518380921301218836327102231407332201109740102580216469298331766920619646083790732807627360614428085171565006289728508688964226799647192582924058589530750674578385365561878559589685756225692348914746922810913915619834754117648358035814128670294158565669942087736286390942241547226015004471330630113072042704288905042142628193771918594574302202147201188486345913190833752307476966010547423928871063118783026036381319039052008252072057933666712918946233312793697094074224187872045970976444309242782187738320257490080824330074991698698239561125811127607863900355221737846690567707344074494145266662103839812840216303448476913957072355732716627098372245223046792919747259113157425824064858331415400943278213042954635053574045209984512221264241903550178416824551412548637590007779082539288247751653566899882749594405895102587985539527709493510049546445427265617478399107188238681771215904234119392247489751079085948055945098805617963722928469554263782217625160428008228845552540344494860195267115187092227766195753907211126646150140614744233974765273475619964311852858614167819668340124730487710162006793529985758820653677274379563313495454526632718723482339494825759821076401694316043456512117937935456463521463021197726694983558929132357576188594977516630734212863869456164205525536767311298137182511494649463663073759219213056823561667776093739425742883930712609962163464088038826569132032160692637206183085942987973684584276491784843115472077900401692595694119273553511025991265446039366288921743581333200083717105241171504606883543418862024047552177055263424469501298905901938158245938633694105024815166679813689156668341197713475094389904887126794468901893850475050011205225742455555625750560213230387910337983950333245020653238989115507013882956277763880795687210857196493893142656713105966275422144605988058939600603604226921401402096519294250488670297983396353279460453142375542267881989197481789780678955093763193658603690898474826976906544473978017455720367929981796023041785852626797271283465789498383642350667978127819110846700
46
47scheme48 again with the original code
48
497> (define (sum-of-exponents n lim)
50  (if
51    (> n lim)
52      0
53      (+ (expt n n) (sum-of-exponents (+ n 1) lim))))
54; no values returned
557> (sum-of-exponents 1 1000)
561000368199144695177095375011227646795567793680622934654583760988100234910747716194381428659099527845945869942643191290894720342979906407679647259860434238468038326040809691037615370376237713648510063115732951461774246705584266865759601815843666442832284556880313114548151539190975398485496645576513465858582712336401166221956188173449531674102688908321764663020306699770408625340766091595022791379368098369306375602813856646358773751558775213460225796579846583334007349358624342339332981334571237888809283103348760261360175950815609179464026871005243652109980863552142014242903434068560936573231079342194031864413918101238151056509267393515760392842472501391594073463001521843811073767021711026307504695733467897821866906648469828346607412967395801797791683609834722432241952845352564681868240369569566192825555323558078061997527689983848863374786789331581565252059172614339424600986143259233167583371070362625554531852054166117148858229508581589614337594463277554380518380921301218836327102231407332201109740102580216469298331766920619646083790732807627360614428085171565006289728508688964226799647192582924058589530750674578385365561878559589685756225692348914746922810913915619834754117648358035814128670294158565669942087736286390942241547226015004471330630113072042704288905042142628193771918594574302202147201188486345913190833752307476966010547423928871063118783026036381319039052008252072057933666712918946233312793697094074224187872045970976444309242782187738320257490080824330074991698698239561125811127607863900355221737846690567707344074494145266662103839812840216303448476913957072355732716627098372245223046792919747259113157425824064858331415400943278213042954635053574045209984512221264241903550178416824551412548637590007779082539288247751653566899882749594405895102587985539527709493510049546445427265617478399107188238681771215904234119392247489751079085948055945098805617963722928469554263782217625160428008228845552540344494860195267115187092227766195753907211126646150140614744233974765273475619964311852858614167819668340124730487710162006793529985758820653677274379563313495454526632718723482339494825759821076401694316043456512117937935456463521463021197726694983558929132357576188594977516630734212863869456164205525536767311298137182511494649463663073759219213056823561667776093739425742883930712609962163464088038826569132032160692637206183085942987973684584229893037637606072518029462732249008429693023731520615823090161040306811254650240897519417925524793281009060534365838577742470625430469256097476239647519653004467055142401112041694552878658294436977292889864778056018109654978308613978283830665598605258940725924365726824581946742587726592053354685715867523801789572166200795225833399144019282491344879695396382203206614451794078179306947052118619237604383491680364166968626246441378248232962667233580852390918615150442988018723803235183659246873880623828198852506533437924514882816793709556531286392220611262339716920988739971993754667583587280883974430950612504812