ইনফিক্স এক্সপ্রেশনগুলি পোস্টফিক্স স্বরলিপিতে রূপান্তর করুন


23

আমি যখন এই বন্ধ প্রশ্নের শিরোনামটি দেখেছি তখন আমি ভেবেছিলাম এটি একটি আকর্ষণীয় কোড গল্ফ চ্যালেঞ্জের মতো দেখাচ্ছে। সুতরাং আমাকে এটি উপস্থাপন করুন:

চ্যালেঞ্জ:

একটি প্রোগ্রাম, অভিব্যক্তি বা সাবরুটিন যেটি, একটি আঙ্কিক অভিব্যক্তি দেওয়া লিখুন পোতা স্বরলিপি , মত 1 + 2, আউটপুট একই অভিব্যক্তি পোস্টসাফিক্স স্বরলিপি , অর্থাত্ 1 2 +

(দ্রষ্টব্য: জানুয়ারির প্রথম দিকে একটি অনুরূপ চ্যালেঞ্জ পোস্ট করা হয়েছিল However তবে, আমি মনে করি এই পৃথক চ্যালেঞ্জকে ন্যায়সঙ্গত করার জন্য দুটি কাজই বিশদরূপে যথেষ্ট আলাদা। এছাড়াও, নীচে সমস্ত কিছু টাইপ করার পরে আমি কেবল অন্য থ্রেডটি লক্ষ্য করেছি, এবং আমি বরং বলছি) শুধু এটি সব ফেলে দিন।)

ইনপুট:

ইনপুট গঠিত একটি বৈধ পোতা আঙ্কিক অভিব্যক্তি নিয়ে গঠিত সংখ্যার (অ-নেতিবাচক পূর্ণসংখ্যার এক বা একাধিক দশমিক সংখ্যা ক্রমের হিসাবে প্রতিনিধিত্ব), সুষম প্রথম বন্ধনী একটি দলবদ্ধ subexpression ইঙ্গিত এবং চার পোতা বাইনারি অপারেটর + , -, *এবং /। এর যে কোনওটি স্থানের অক্ষরের একটি স্বেচ্ছাসেবী সংখ্যার দ্বারা পৃথক করা যেতে পারে (এবং পুরো ভাবটি ঘিরে রয়েছে), যা উপেক্ষা করা উচিত। 1

যারা প্রথাগত ব্যাকরণ পছন্দ করেন তাদের জন্য, এখানে একটি সাধারণ বিএনএফ-এর মতো ব্যাকরণ যা বৈধ ইনপুটগুলি সংজ্ঞায়িত করে। সংক্ষিপ্ততা এবং স্পষ্টতার জন্য, ব্যাকরণটিতে alচ্ছিক স্থানগুলি অন্তর্ভুক্ত করা হয় না, যা কোনও দুটি টোকেনের মধ্যে হতে পারে (একটি সংখ্যার মধ্যে অঙ্ক ব্যতীত):

expression     := number | subexpression | expression operator expression
subexpression  := "(" expression ")"
operator       := "+" | "-" | "*" | "/"
number         := digit | digit number
digit          := "0" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9"

1 একমাত্র ক্ষেত্রে যেখানে স্পেসগুলির উপস্থিতি পার্সিংকে প্রভাবিত করতে পারে যখন তারা পরপর দুটি সংখ্যা পৃথক করে; তবে যেহেতু অপারেটর দ্বারা পৃথক নয় দুটি সংখ্যা বৈধ ইনফিক্স এক্সপ্রেশনে ঘটতে পারে না, বৈধ ইনপুটটিতে এই মামলাটি কখনই ঘটতে পারে না।

আউটপুট:

আউটপুট ইনপুট সমতুল্য একটি পোস্টফিক্স এক্সপ্রেশন হওয়া উচিত। আউটপুট অভিব্যক্তি, একমাত্র সংখ্যা এবং অপারেটরদের হওয়া উচিত একটি একক স্থান অক্ষর সংলগ্ন টোকেন প্রতিটি জোড়া মধ্যবর্তী নিম্নলিখিত ব্যাকরণ (যেখানে যেমন নেই শূণ্যস্থান অন্তর্ভুক্ত) 2 :

expression  := number | expression sp expression sp operator
operator    := "+" | "-" | "*" | "/"
number      := digit | digit number
digit       := "0" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9"
sp          := " "

2 আবার সরলতার জন্য, numberএই ব্যাকরণে উত্পাদন নেতৃস্থানীয় শূন্যগুলির সাথে সংখ্যাকে স্বীকার করে, যদিও তারা নীচের বিধি দ্বারা আউটপুটে নিষিদ্ধ।

অপারেটর অগ্রাধিকার:

বন্ধনীগুলির অনুপস্থিতিতে, নিম্নলিখিত অগ্রাধিকার বিধিগুলি প্রয়োগ করা হয়:

  • অপারেটার *এবং /বেশী প্রাধান্য আছে +এবং -
  • অপারেটর *এবং /একে অপরের সমান নজরে আছে।
  • অপারেটর +এবং -একে অপরের সমান নজরে আছে।
  • সমস্ত অপারেটর বাম-সহযোগী হয়।

উদাহরণস্বরূপ, নিম্নলিখিত দুটি এক্সপ্রেশন সমতুল্য:

1 + 2 / 3 * 4 - 5 + 6 * 7
((1 + ((2 / 3) * 4)) - 5) + (6 * 7)

এবং তাদের উভয়কেই নিম্নলিখিত আউটপুট প্রদান করা উচিত:

1 2 3 / 4 * + 5 - 6 7 * +

(এই সি ল্যাঙ্গুয়েজ হিসেবে এবং সবচেয়ে তা থেকে উদ্ভূত ভাষায় একই প্রাধান্য নিয়ম আছে। তারা সম্ভবত, বিধি আপনি প্রাথমিক স্কুলে শেখানো হয় অনুরূপ আপেক্ষিক প্রাধান্য জন্য সম্ভবত ছাড়া *এবং /।)

বিবিধ বিধি:

  • প্রদত্ত সমাধানটি যদি একটি অভিব্যক্তি বা সাবরুটিন হয় তবে ইনপুট সরবরাহ করা উচিত এবং আউটপুটটি একক স্ট্রিং হিসাবে ফিরে আসবে। যদি সমাধানটি সম্পূর্ণ প্রোগ্রাম হয় তবে এটি স্ট্যান্ডার্ড ইনপুট থেকে ইনফিক্স এক্সপ্রেশন সম্বলিত একটি লাইন পড়তে হবে এবং পোস্টফিক্স সংস্করণ সহ একটি লাইন স্ট্যান্ডার্ড আউটপুটে প্রিন্ট করা উচিত।

  • ইনপুট নম্বরগুলি নেতৃস্থানীয় শূন্য অন্তর্ভুক্ত থাকতে পারে। আউটপুট সংখ্যার নেতৃস্থানীয় শূন্য থাকতে হবে না (0 নম্বর বাদে, আউটপুট হিসাবে হবে 0)।

  • আপনি কোনওভাবেই অভিব্যক্তিটির মূল্যায়ন বা অনুকূলকরণ করবেন না বলে আশা করা যায়। বিশেষত, আপনাকে ধরে নেওয়া উচিত নয় যে অপারেটরগুলি অগত্যা কোনও সংঘবদ্ধ, পরিবর্তনকারী বা অন্যান্য বীজগণিত পরিচয় পূরণ করে। এটি হ'ল আপনার অবশ্যই ধরে নেওয়া উচিত নয় যে 1 + 2সমান 2 + 1বা 1 + (2 + 3)সমান (1 + 2) + 3

  • আপনি ধরে নিতে পারেন যে ইনপুটটিতে সংখ্যাগুলি 2 31 - 1 = 2147483647 এর বেশি নয় ।

এই বিধিগুলি সঠিকভাবে আউটপুটটিকে ইনপুট দ্বারা স্বতন্ত্রভাবে সংজ্ঞায়িত করা হয়েছে তা নিশ্চিত করার উদ্দেশ্যে are

উদাহরণ:

এখানে কিছু বৈধ ইনপুট এক্সপ্রেশন এবং সংশ্লিষ্ট আউটপুটগুলি ফর্মটিতে উপস্থাপন করা হয়েছে "input" -> "output":

"1"                  ->  "1"
"1 + 2"              ->  "1 2 +"
" 001  +  02 "       ->  "1 2 +"
"(((((1))) + (2)))"  ->  "1 2 +"
"1+2"                ->  "1 2 +"
"1 + 2 + 3"          ->  "1 2 + 3 +"
"1 + (2 + 3)"        ->  "1 2 3 + +"
"1 + 2 * 3"          ->  "1 2 3 * +"
"1 / 2 * 3"          ->  "1 2 / 3 *"
"0102 + 0000"        ->  "102 0 +"
"0-1+(2-3)*4-5*(6-(7+8)/9+10)" -> "0 1 - 2 3 - 4 * + 5 6 7 8 + 9 / - 10 + * -"

(কমপক্ষে, আমি আশা করি যে এগুলি সব ঠিক আছে; আমি রূপান্তরটি হাতে হাতে করেছিলাম, যাতে ভুলগুলি ভ্রূণু হতে পারে))

কেবল স্পষ্ট করে বলতে গেলে, নিম্নলিখিত ইনপুটগুলি সমস্ত অবৈধ; আপনার সমাধানটি যদি তাদের দেওয়া হয় তবে তা বিবেচ্য নয় (যদিও, অবশ্যই উদাহরণস্বরূপ, একটি ত্রুটি বার্তা প্রদান করা অসম্পূর্ণ পরিমাণ স্মৃতি গ্রহন করে) এর চেয়ে সুন্দর:

""
"x"
"1 2"
"1 + + 2"
"-1"
"3.141592653589793"
"10,000,000,001"
"(1 + 2"
"(1 + 2)) * (3 / (4)"

লিস্প কি স্বরলিপি গ্রহণযোগ্য? উদাহরণস্বরূপ 1 2 3 4 +`1 + 2 + 3 + 4` অর্থ`
হাউলেথ

3
@ হাউলেথ: এই চ্যালেঞ্জের মধ্যে নেই, না। এছাড়াও, প্রথম বন্ধনী ছাড়া, আপনি কীভাবে পার্স করবেন 1 2 3 4 + *?
ইলমারি করোনেন

সুতরাং, কোনও পূর্ববর্তী হোয়াইটস্পেস (একটি নতুন লাইন সহ) ওটুপুটে অনুমোদিত নয়?
ব্রেডবক্স

@ ব্র্যাডবক্স: ট্রেলিং করা নতুন লাইনগুলি ঠিক আছে। প্রকৃতপক্ষে, আমি স্পষ্ট করে স্পষ্ট করে বলি যে কোনও পূর্ববর্তী সাদা স্থান অনুমোদিত।
ইলমারি করোনেন

আমার কাছে একটি সমাধান রয়েছে যা সর্বশেষ বৈধ উদাহরণের জন্য "0 1 - 2 3 - 4 * 5 6 7 8 + 9 / - 10 + * - +" দেয়, যা আমার কাছে সঠিক বলে মনে হয়। আপনি চেক করতে পারেন? (শেষ + অপারেটরটি লক্ষ্য করুন)
coredump

উত্তর:


8

শেল ব্যবহার - 60 অক্ষর

bc -c|sed -re's/[@iK:Wr]+/ /g;s/[^0-9]/ &/g;s/ +/ /g;s/^ //'

বিভিন্ন সমস্যা স্থির করে তবে এটি অনেক বেশি সময় পেল :(


1
এটি বরং চতুর, এটি 9 টির বেশি সংখ্যককে সঠিকভাবে পরিচালনা করবে বলে মনে হয় না।
ব্রেডবক্স

@ ব্রেডবক্স, sed -re's/[:@iKWr]+/ /g'এটি 1 টি অক্ষরের ব্যয় স্থির করে।
উগোরেন

ওফস, যদিও ইউগোরেন পরামর্শটি ক্রমাগত অপারেটরগুলির মধ্যে আর কোনও স্থান নেই বলে কাজ করে না; আমিও তার জন্য একটি ফিক্স নিয়ে এসেছি
জিওফ রেডি

4

সি, 250 245 236 193 185 চর

char*p,b[99];f(char*s){int t=0;for(;*p-32?
*p>47?printf("%d ",strtol(p,&p,10)):*p==40?f(p++),++p:
t&&s[t]%5==2|*p%5-2?printf("%c ",s[t--]):*p>41?s[++t]=*p++:0:++p;);}
main(){f(p=gets(b));}

এখানে অগলিত উত্সের একটি পঠনযোগ্য সংস্করণ রয়েছে যা এখনও মূল যুক্তিকে প্রতিফলিত করে। এটি আসলে একটি বরং সোজা প্রোগ্রাম। কেবলমাত্র আসল কাজটি হ'ল যখন কোনও উচ্চ-সাহসীতা অপারেটরের মুখোমুখি হয় তখন একটি কম-এসোসিয়েটিভিটি অপারেটরটিকে স্ট্যাকের দিকে ঠেলে দেওয়া হয় এবং তারপরে এটিকে সফলতার এক্সপ্রেশনটির "শেষ" এ ফিরে পপ করে দেওয়া হয়।

#include <stdio.h>
#include <stdlib.h>

static char buf[256], stack[256];
static char *p = buf;

static char *fix(char *ops)
{
    int sp = 0;

    for ( ; *p && *p != '\n' && *p != ')' ; ++p) {
        if (*p == ' ') {
            continue;
        } else if (*p >= '0') {
            printf("%ld ", strtol(p, &p, 10));
            --p;
        } else if (*p == '(') {
            ++p;
            fix(ops + sp);
        } else {
            while (sp) {
                if ((ops[sp] == '+' || ops[sp] == '-') &&
                        (*p == '*' || *p == '/')) {
                    break;
                } else {
                    printf("%c ", ops[sp--]);
                }
            }
            ops[++sp] = *p;
        }
    }
    while (sp)
        printf("%c ", ops[sp--]);
    return p;
}

int main(void)
{
    fgets(buf, sizeof buf, stdin);
    fix(stack);
    return 0;
}

সরানোর মাধ্যমে অক্ষর সংরক্ষণ করুন if। যেমন if(!*p||*p==41)return p;s[++t]=*p;}->return*p&&*p-41?s[++t]=*p:p;
ugoren

*f(p,s)char*p,s;{
কেএন্ডআর

1. ifপরীক্ষা ব্যর্থ হলে ফিরে আসা একটি ত্রুটি । ২. আমি জানি, তবে কে ওআরআর ফাংশন ডিক্স হল যেখানে আমি লাইনটি আঁকছি। আমি কেবল তাদের কাছে ফিরে যেতে পারি না।
ব্রেডবক্স

আমি ভাবলাম যেভাবেই ফিরতে ফাংশন শেষ হবে। মিস করেছেন }}এবং for। তবে এখানে একটি অবতারণা রয়েছে:printf(" %ld"+!a,...

1
এছাড়াও আমি মনে করি আপনার pগ্লোবাল করা উচিত (পুনরাবৃত্ত কলটি কেবল কলিকে pকলারের কাছে ফিরিয়ে দেয়)। তাহলে কর f(p=gets(b))
ugoren

2

বাশ ডাব্লু / হাস্কেল ডাব্লু / সি প্রিপ্রসেসর সেড, 180 195 198 275

echo 'CNumO+O-O*fromInteger=show
CFractionalO/
main=putStr$'$*|sed 's/C\([^O]*\)/instance \1 String where /g
s/O\(.\?\)/a\1b=unwords\[a,b,\"\1\"];/g'|runghc -XFlexibleInstances 2>w

শেষ অবধি, এটি আর সি সমাধানের চেয়ে বেশি দীর্ঘ নয়। অত্যন্ত গুরুত্বপূর্ণ হাস্কেল অংশটি বিসি দ্রবণ হিসাবে প্রায় অলস ...

কমান্ড-লাইন প্যারামিটার হিসাবে ইনপুট নেয়। wআপনি যদি এই পরিবর্তনটি পছন্দ না করেন তবে কিছু জিএইচসি সতর্কতা বার্তা সহ একটি ফাইল তৈরি করা হবে runghc 2>/dev/null


1
Basked? ( Bas, H + এইচ পাক করব + S ইডি )
CalculatorFeline

2

পাইথন 2, 290 272 268 250 243 238 বাইট

এখন শেষ পর্যন্ত জেএসের চেয়ে কম উত্তর!

এটি একটি সম্পূর্ণ প্রোগ্রাম যা শান্টিং ইয়ার্ড অ্যালগরিদমের প্রাথমিক প্রয়োগ ব্যবহার করে । ইনপুট একটি উদ্ধৃত স্ট্রিং হিসাবে দেওয়া হয়, এবং ফলাফল মুদ্রিত হয় STDOUT

import re
O=[];B=[]
for t in re.findall('\d+|\S',input()):exec("O=[t]+O","i=O.index('(');B+=O[:i];O=O[i+1:]","while O and'('<O[0]and(t in'*/')<=(O[0]in'*/'):B+=O.pop(0)\nO=[t]+O","B+=`int(t)`,")[(t>'/')+(t>')')+(t>'(')]
print' '.join(B+O)

এটি অনলাইন চেষ্টা করুন!


ব্যাখ্যা:

আমাদের প্রথমে যা করতে হবে তা হ'ল ইনপুটটিকে টোকনে রূপান্তর করা। আমরা রেজেক্সের সমস্ত মিল খুঁজে পেয়ে এটি ব্যবহার করে \d+|\Sমোটামুটি "অঙ্কের কোনও গ্রুপ, এবং কোনও স্থানবিহীন অক্ষর" তে অনুবাদ করি। এটি হোয়াইটস্পেস সরিয়ে দেয়, একক টোকেন হিসাবে সংলগ্ন অঙ্কগুলি এবং পার্স অপারেটরগুলিকে আলাদাভাবে পৃথক করে।

শান্টিং ইয়ার্ড অ্যালগরিদমের জন্য আমাদের এখানে চারটি স্বতন্ত্র টোকেন হ্যান্ডলগুলি গ্রহণ করতে হবে:

  • ( - বাম বন্ধনী
  • ) - ডান বন্ধনী
  • +-*/ - অপারেটর
  • 9876543210 - সংখ্যাগত আক্ষরিক

ধন্যবাদ, এগুলির ASCII কোডগুলি সমস্ত দেখানো ক্রমে গোষ্ঠীযুক্ত, তাই আমরা (t>'/')+(t>')')+(t>'(')টোকেন ধরণের গণনা করতে এক্সপ্রেশনটি ব্যবহার করতে পারি । এই ফলাফল 3 ডিজিটের জন্য, 2 অপারেটর, জন্য 1 একটি অধিকার প্রথম বন্ধনী এবং জন্য 0 বাম বন্ধনী জন্য।

এই মানগুলি ব্যবহার করে, আমরা execটোকেন ধরণের উপর ভিত্তি করে নির্বাহের জন্য সংশ্লিষ্ট স্নিপেটটি পাওয়ার পরে বৃহত টুপলে সূচি করি । এটি প্রতিটি টোকেনের জন্য পৃথক এবং শান্টিং ইয়ার্ড অ্যালগরিদমের মেরুদণ্ড। দুটি তালিকা ব্যবহৃত হয় (স্ট্যাক হিসাবে): O(অপারেশন স্ট্যাক) এবং B(আউটপুট বাফার)। সমস্ত টোকেন চালানোর পরে, Oস্ট্যাকের বাকী অপারেটরগুলি আউটপুট বাফারের সাথে সংমিশ্রিত হয় এবং ফলাফলটি মুদ্রিত হয়।


2

প্রোলোগ (এসডাব্লুআই-প্রোলগ) , ১১৩ বাইট

c(Z,Q):-Z=..[A,B,C],c(B,S),c(C,T),concat_atom([S,T,A],' ',Q);term_to_atom(Z,Q).
p(X,Q):-term_to_atom(Z,X),c(Z,Q).

এটি অনলাইন চেষ্টা করুন!

জিএনইউ প্রোলোগের তুলনায় এসডাব্লুআই প্রোলোগের জন্য বিল্টিনগুলির আরও অনেক ভাল সেট রয়েছে তবে এটি এখনও প্রোলোগের বাক্য গঠনের ক্রিয়াপদ দ্বারা কিছুটা পিছিয়ে রয়েছে।

ব্যাখ্যা

term_to_atomপিছনে দৌড়ে গেলে, একটি ইনফিক্স-নোটেশন এক্সপ্রেশন (একটি পরমাণুর হিসাবে সঞ্চিত) একটি পার্স গাছে পার্স করবে (সাধারণ নজির নিয়ম মানা এবং নেতৃস্থানীয় শূন্যস্থান এবং সাদা স্থান মুছে ফেলা)। তারপরে আমরা cপার্স গাছের উপরে কাঠামোগত পুনরাবৃত্তি করতে, সহায়ক-অগ্রণী ব্যবহার করি, গভীরতার-প্রথম উপায়ে পোস্টফিক্স স্বরলিপিতে রূপান্তর করি।


1

জাভাস্ক্রিপ্ট (ES6), 244 বাইট

f=(s,o={'+':1,'-':1,'*':2,'/':2},a=[],p='',g=c=>o[l=a.pop()]>=o[c]?g(c,p+=l+' '):a.push(l||'',c))=>(s.match(/[)(+*/-]|\d+/g).map(c=>o[c]?g(c):(c==')'?eval(`for(;(i=a.pop())&&i!='(';)p+=i+' '`):c=='('?a.push(c):p+=+c+' ')),p+a.reverse().join` `)

উদাহরণ:
কল: f('0-1+(2-3)*4-5*(6-(7+8)/9+10)')
আউটপুট: 0 1 - 2 3 - 4 * + 5 6 7 8 + 9 / - 10 + * -(পিছনের স্থান সহ)

ব্যাখ্যা:

f=(s,                                                     //Input string
    o={'+':1,'-':1,'*':2,'/':2},                          //Object used to compare precedence between operators
    a=[],                                                 //Array used to stack operators
    p='',                                                 //String used to store the result
    g=c=>                                                 //Function to manage operator stack
        o[l=a.pop()]>=o[c]?                               //  If the last stacked operator has the same or higher precedence
            g(c,p+=l+' '):                                //  Then adds it to the result and call g(c) again
            a.push(l||'',c)                               //  Else restack the last operator and adds the current one, ends the recursion.
)=>                                                       
    (s.match(/[)(+*/-]|\d+/g)                             //Getting all operands and operators
    .map(c=>                                              //for each operands or operators
        o[c]?                                             //If it's an operator defined in the object o
            g(c)                                          //Then manage the stack
            :(c==')'?                                     //Else if it's a closing parenthese
                eval(`                                    //Then
                    for(;(i=a.pop())&&i!='(';)            //  Until it's an opening parenthese
                        p+=i+' '                          //  Adds the last operator to the result
                `)                                        
                :c=='('?                                  //Else if it's an opening parenthese
                    a.push(c)                             //Then push it on the stack
                    :p+=+c+' '                            //Else it's an operand: adds it to the result (+c removes the leading 0s)
        )                                                 
    )                                                     
    ,p+a.reverse().join` `)                               //Adds the last operators on the stack to get the final result

1

আর, 142 বাইট

আর নিজেই বিশ্লেষণ করতে সক্ষম, সুতরাং চাকাটি পুনরায় উদ্ভাবন করার পরিবর্তে আমরা কেবলমাত্র পার্সারটিকে কাজ করার জন্য রেখেছি, যা উপসর্গের স্বরলিপিটি দেয় এবং এটি পোস্টফিক্স স্বরলিপিতে স্যুইচ করার জন্য একটি পুনরাবৃত্ত ফাংশন ব্যবহার করে।

f=function(x,p=1){
if(p)x=match.call()[[2]]
if((l=length(x))>1){
f(x[[2]],0)
if(l>2)f(x[[3]],0)
if((z=x[[1]])!="(")cat(z,"")
}else cat(x,"")
}

pযুক্তি অ-মানক মূল্যায়ন (রাঃ প্রোগ্রামারদের সর্বত্র সর্বনাশ) ব্যবহার নিয়ন্ত্রণ করা হয়, এবং কিছু অতিরিক্ত আছে ifসেখানে গুলি বন্ধনী আউটপুট (যা আমরা এড়াতে চান) নিয়ন্ত্রন করতে পারেন।

ইনপুট: (0-1+(2-3)*4-5*(6-(7+8)/9+10))

আউটপুট: 0 1 - 2 3 - 4 * + 5 6 7 8 + 9 / - 10 + * -

ইনপুট: (((((1))) + (2)))

আউটপুট: 1 2 +

একটি বোনাস হিসাবে, এটি স্বেচ্ছাসেবী প্রতীক এবং দুটি পূর্ব পর্যন্ত কোনও পূর্বনির্ধারিত ফাংশন সহ কাজ করে:

ইউলারের পরিচয়

ইনপুট: e^(i*pi)-1

আউটপুট: e i pi * ^ 1 -

1 এবং 100 এর মধ্যে 13 এর লভ্যাংশ

ইনপুট: which(1:100 %% 13 == 0)

আউটপুট: 1 100 : 13 %% 0 == which

সময়ের কাজ হিসাবে শিশুর মুরগির ওজনের লিনিয়ার রিগ্রেশন

ইনপুট: summary(lm(weight~Time, data=ChickWeight))

আউটপুট: weight Time ~ ChickWeight lm summary

শেষ উদাহরণটি সম্ভবত ওপিটির ক্ষেত্রের বাইরে কিছুটা হলেও এটি পোস্টফিক্স স্বরলিপি ব্যবহার করে, তাই ...

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.