উত্তর:
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
পসিক্স অনুগত হতে, আপনাকে এটি লিখতে হবে:
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 হয় ক্যালকুলেটর এবং কমান্ড লাইন Geeks জন্য ক্যালকুলেটর। এটি একটি আধুনিক এইচপি আরপিএন ক্যালকুলেটর অনুকরণ করে যা অবশ্যই গণনার একমাত্র সত্য উপায়।
আপনি যদি একটি ক্যালকুলেটর হন, টিআই, ক্যাসিওস এবং এর মতো উত্থাপিত, অনলাইনে অনেকগুলি আরপিএন টিউটোরিয়াল রয়েছে যার সাহায্যে আপনি পুনরায় পড়াশোনা শুরু করতে পারেন। আরপিএন ম্যানুয়ালটি অবশেষে আপনার কিছু কাজে আসবে, আপনি একবার RPN চিন্তাভাবনার উপায়টি পেয়ে যান।
গুনতে হবে 5! অর্পিতে, আপনি এটি যেমন লিখতে চান ঠিক তেমন টাইপ করুন : 5 !. আপনি প্রথমে স্ট্যাকের দিকে Enterধাক্কা দিতে তাদের মধ্যে টিপতে পারেন 5
, তবে এটি প্রয়োজনীয় নয়।
10 (5) লগ গণনা করতে , টাইপ করুন 5 Enter ' l o Enter। 5
এই ক্ষেত্রে আপনাকে প্রথমে স্ট্যাকের উপরে চাপ দিতে হবে , কারণ পরবর্তী কীস্ট্রোক কোনও অপারেটর নয়। এই একক উদ্ধৃতি চরিত্রটি কমান্ড সংক্ষেপণ মোডে প্রবেশ করে log10
, যা আপনাকে টাইপ করা শুরু করতে দেয় , যা আপনি কেবল প্রথম দুটি অক্ষর দিয়ে স্বতন্ত্রভাবে সনাক্ত করতে পারেন। ( l
একা ln
পরিবর্তে আপনি প্রাকৃতিক লগ ফাংশন পান, পরিবর্তে।)
যে কোনও আরপিএন ক্যালকুলেটরের মতো, আপনি কিছুটা অনুশীলন করে অর্পির সাথে সত্যিই দ্রুত যেতে পারেন ।
অরপি স্ট্যান্ডে রয়েছে উবুন্টু রেপোস। ফ্রিবিএসডি এটিকে বন্দরগুলিতে অন্তর্ভুক্ত করে math/orpie
। ওএস এক্স-এ, আপনি হোমব্রুয়ের মাধ্যমে এটি ইনস্টল করতে পারেন । তৃতীয় পক্ষের প্যাকেজগুলি অন্য ওএসের জন্য উপলব্ধ থাকতে পারে। উত্স থেকে বিল্ডিং কিছুটা কাজকর্ম হতে পারে, যেহেতু এটি ওক্যামেলে লেখা হয়েছে , এবং আপনার সম্ভবত একটি ওসিএএমএল বিকাশ পরিবেশ নেই। যদিও একটি সেট আপ করা বিশেষত কঠিন নয়।
সেখানে সবসময় জিএনইউ অ্যাকটাভ থাকে , কমান্ড-লাইন ক্যালকুলেটরগুলির ইমাস (যখন আপনি নিজের ক্যালকুলেটরটিতে অন্তর্নির্মিত একটি সম্পূর্ণ বিকাশ পরিবেশ এবং প্রোগ্রামিং ভাষা এবং হাজার হাজার thousandsচ্ছিক অ্যাড-অনগুলি চান)
অথবা আর যদি স্ট্যাটাস আপনার জিনিস বেশি হয়।
আমি বেশিরভাগই 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