जवाबों:
bc
-l
झंडे के साथ आह्वान किए जाने पर प्राकृतिक लघुगणक का समर्थन करता है । आप इसके साथ बेस -10 या बेस -2 लॉग की गणना कर सकते हैं:
$ bc -l
...
l(100)/l(10)
2.00000000000000000000
l(256)/l(2)
8.00000000000000000007
मुझे नहीं लगता कि कोई बिल्ट-इन-फैक्टोरियल है, लेकिन यह खुद को लिखने के लिए काफी आसान है:
$ bc
...
define fact_rec (n) {
if (n < 0) {
print "oops";
halt;
}
if (n < 2) return 1;
return n*fact_rec(n-1);
}
fact_rec(5)
120
या:
define fact_it (n) {
if (n < 0) {
print "oops";
halt;
}
res = 1;
for (; n > 1; n--) {
res *= n;
}
return res;
}
fact_it(100)
93326215443944152681699238856266700490715968264381621468592963895217\
59999322991560894146397615651828625369792082722375825118521091686400\
0000000000000000000000
POSIX का अनुपालन करने के लिए, आपको इसे लिखना होगा:
define f(n) {
auto s, m
if (n <= 0) {
"Invalid input: "
n
return(-1)
}
s = scale
scale = 0
m = n / 1
scale = s
if (n != m) {
"Invalid input: "
n
return(-1)
}
if (n < 2) return(1)
return(n * f(n - 1))
}
वह है: एकल वर्ण फ़ंक्शन नाम, नहीं print
, नहीं halt
, कोष्ठक आवश्यक नहीं है return(x)
। यदि आपको इनपुट सत्यापन की आवश्यकता नहीं है (यहां सकारात्मक पूर्णांक संख्या के लिए), यह सिर्फ है:
define f(n) {
if (n < 2) return(1)
return(n * f(n - 1))
}
0!=1
बस के रूप में 1!=1
। कम से कम, कि विकिपीडिया क्या कहता है।
Orpie है कैलकुलेटर और कमांड लाइन के शौकीनों के लिए कैलकुलेटर। यह एक आधुनिक एचपी आरपीएन कैलकुलेटर का अनुकरण करता है, जो निश्चित रूप से गणना करने का एकमात्र सही तरीका है।
यदि आप एक कैलकुलेटर विधर्मी हैं, तो टीआई, कैसियोस पर उठाए गए हैं, और इस तरह, ऑनलाइन कई आरपीएन ट्यूटोरियल हैं जिनके साथ आप अपनी पुन: शिक्षा शुरू कर सकते हैं। एक बार जब आप सोच समझ के आरपीएन वे प्राप्त कर लेते हैं, तो ऑर्पियो मैनुअल अंततः आपके कुछ काम आएगा।
5 की गणना करने के लिए! ओर्पी में, जैसा आप इसे लिखेंगे, वैसे ही टाइप करें 5 !:। आप स्टैक पर पहले Enterपुश करने के लिए उनके बीच दबा सकते हैं 5
, लेकिन यह आवश्यक नहीं है।
लॉग 10 (5) की गणना करने के लिए , टाइप करें 5 Enter ' l o Enter। आपको 5
इस मामले में पहले स्टैक पर धक्का देना होगा , क्योंकि अगला कीस्ट्रोक ऑपरेटर नहीं है। वह एकल उद्धरण वर्ण कमांड संक्षिप्त नाम मोड में प्रवेश करता है, जो आपको टाइप करना शुरू कर देता है log10
, जिसे आप केवल पहले दो वर्णों के साथ पहचान सकते हैं। ( l
अकेले आपको ln
इसके बजाय प्राकृतिक लॉग फ़ंक्शन मिलता है ।)
किसी भी आरपीएन कैलकुलेटर के साथ, आप थोड़े अभ्यास के साथ, ऑर्पि के साथ वास्तव में तेज़ हो सकते हैं ।
ओर्पी स्टॉक उबंटू रेपो में है। FreeBSD ने इसे बंदरगाहों के रूप में शामिल किया है math/orpie
। ओएस एक्स पर, आप इसे होमब्रे के माध्यम से स्थापित कर सकते हैं । तृतीय-पक्ष पैकेज अन्य OSes के लिए उपलब्ध हो सकते हैं। स्रोत से भवन थोड़ा-सा चकोर हो सकता है, क्योंकि यह OCaml में लिखा गया है , और संभवतः आपके पास OCaml विकास स्थापित नहीं है। हालांकि एक सेट प्राप्त करना विशेष रूप से कठिन नहीं है।
हमेशा ग्नू ऑक्टेव , कमांड-लाइन कैलकुलेटरों के एमएसीएस (जब आप एक पूर्ण विकास वातावरण चाहते हैं और प्रोग्रामिंग भाषा बिल्ट-इन अपने कैलकुलेटर और हजारों वैकल्पिक ऐड-ऑन चाहते हैं)
या आर यदि आँकड़े अधिक अपने बात कर रहे हैं।
मैं ज्यादातर सिर्फ bc -l
मानक गणित पुस्तकालय को लोड करने के लिए उपयोग करता हूं ... मैं भी इसके लिए bc
सचेत हूं bc -l
। एक फैक्टरियल फ़ंक्शन को परिभाषित करने के बारे में जानकारी के लिए मैट का उत्तर देखें .... हालांकि bc
मैन पेज इसे इस प्रकार परिभाषित करता है:
define f (x) {
if (x <= 1) return (1);
return (f(x-1) * x);
}
यदि आप इसे एक ऋणात्मक संख्या (एक त्रुटि होना चाहिए) या शून्य (वैध) फ़ीड करने के लिए होता है, तो == 1 के बजाय <= 1 के लिए जाँच करना एक अंतहीन लूप को रोकता है।
मेरा पसंदीदा हल्का, सरल है W-Calc
।
http://w-calc.sourceforge.net
आपको मैन्युअल या मैन्युअल रूप से सामान्य कार्यों को देखने की ज़रूरत नहीं है, जैसे आप करते हैं bc
- कमांड्स ज्यादातर वही हैं जो आप उम्मीद करेंगे, इसलिए आप जो चाहते हैं उसमें टाइप करें और यह सिर्फ काम करता है। अपने प्रश्न के अनुसार परीक्षण करना - वास्तव में log()
और n!
उम्मीद के मुताबिक काम करना।
(निश्चित रूप से मैंने ओर्पी के बारे में नहीं सुना है - बहुत अच्छी तरह से एक बेहतर विकल्प हो सकता है।)
यदि आपके पास मैक पोर्ट हैं:
$ sudo /opt/local/bin/port install orpie