2012-01-26 11 views
8

मैं सोच रहा था कितनी दूर आप इस मुद्रित कर सकते हैं:आर का उपयोग करके दशमलव बिंदु के बाद कितनी संख्याएं आप दिखा सकते हैं?

http://www.iheartchaos.com/post/16393143676/fun-with-math-dividing-one-by-998001-yields-a

आर में

जैसे: 1/998001

+5

आर आईईईई 754 का उपयोग करता है। इसलिए, अपने प्रश्न का उत्तर देने के लिए, 16 से अधिक महत्वपूर्ण अंक नहीं। –

+0

क्या यह आर में होना चाहिए? पाइथन जैसी एक और सामान्य उद्देश्य भाषा मेरी पसंद होगी। –

+0

हाँ, mpmath के साथ पायथन में तुच्छ। –

उत्तर

16

आप mpc पैकेज इस्तेमाल कर सकते हैं,

# 3000 is the precision in bits 
> mpc(1, 3000)/mpc(998001, 3000) 
[1] "(1.0020030040050060070080 ... 
... 
+0

यह एक पैकेज है, क्षमा करें – mdsumner

13

यहां एक समाधान है जिसके लिए किसी भी फैंसी पैकेज की आवश्यकता नहीं होती है, केवल बेस आर और एक फ्लैशबैक eleme एनटीरी स्कूल अंकगणितीय:

longdiv <- function(num,den, limit=3000, spaces=TRUE) { 
    i <- 0 
    if(num < den) { 
     cat('0.') 
     num <- num*10 
    } else { 
     cat(num %/% den, '.', sep='') 
     num <- (num %% den) * 10 
    } 
    while(i < limit) { 
     i <- i + 1 
     if(num < den){ 
      cat('0') 
      num <- num*10 
     } else { 
      cat(num %/% den) 
      num <- (num %% den) * 10 
     } 
     if(spaces){ 
      if((i %% 30) == 0) { 
       cat('\n') 
      } else if((i %% 3) == 0) { 
       cat(' ') 
      } 
     } 
     flush.console() 
    } 
    cat('\n') 
} 


longdiv(1,998001) 
+0

+1 वास्तव में बहुत अच्छा काम है –

संबंधित मुद्दे