হাইকুতে কারখানা!


60

কার্য

কোনও প্রোগ্রাম তৈরি করুন যা কোনও অন্তর্নির্মিত ফ্যাক্টরিয়াল ফাংশন ব্যবহার করে কোনও সংখ্যার ফ্যাক্টরিয়াল গণনা করে। সহজ? ক্যাচটি হ'ল আপনাকে অবশ্যই আপনার পুরো প্রোগ্রামটি হাইকু আকারে (এটি পরীক্ষা সহ) লিখতে হবে ।

পর্যাপ্ত কাজ নেই
আপনি যতগুলি হাইকুস আপনার প্রয়োজন হিসাবে ব্যবহার করতে পারেন, তবে উচ্চারণ করার পরে তাদের অবশ্যই 5-7-5- এর অক্ষরের বিন্যাসটি অনুসরণ করতে হবে।

স্কোরিং

এটি একটি , সুতরাং আপনাকে অবশ্যই জিততে হবে সবচেয়ে বেশি অগ্রগতি। আপনার প্রোগ্রামে কমপক্ষে একটি পূর্ণ হাইকু থাকতে হবে এবং সমস্ত হাইকুস অবশ্যই সম্পূর্ণ।

কোড পড়ার সময়, প্রতিটি হাইকুর প্রথম লাইনটিতে 5 টি উচ্চারণ থাকবে, দ্বিতীয়টিতে 7 টি থাকবে এবং তৃতীয়টিতে 5 থাকবে।


5
: কিছু শেক্সপীয়ার লেখা জন্য একটি নিখুঁত হইয়া মত শোনায় shakespearelang.sourceforge.net/report/shakespeare/...
ডেনিস দে Bernardy

2
দেখে মনে হচ্ছে বেশিরভাগ উত্তর " এটি পরীক্ষা সহ " উপেক্ষা করছে ।
আনকো

5
আমি পছন্দ করি যে আপনি কোনও সাইটের সাথে কীভাবে লিঙ্ক করেছেন যা হাইকুর জন্য গুরুত্বপূর্ণ জিনিসটি সঠিকভাবে বলেছে (ক) কিরু এবং (খ) একটি মৌসুমী রেফারেন্স এবং তারপরে কেবল মোরা গণনার আরও বা কম alচ্ছিক অংশ (বা সিলেবলস না এমন ভাষায় সিলেবলস) চাইতে হবে সত্যিই মোরা নেই 😸
ক্রিস্টোফার ক্রিউটজিগ

1
আমি @ ক্রিস্টোফার ক্রিউটজিগের সাথে একমত - এটি যদি আমাদের একটি seasonতু রেফারেন্স এবং কাটা নিশ্চিত করতে হয় তবে এটি আরও বেশি আকর্ষণীয় হবে। দুঃখের বিষয়, আমরা প্রায়শই হাইকুর এই মূল বিষয়গুলি উপেক্ষা করি। আমার কাছে মনে হয় thenবা বিরামচিহ্নগুলি কাটাতে সহায়তা করতে পারে। জন্য kigo , তাই নিশ্চিত না ...
ড্যারেন স্টোন

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

উত্তর:


54

স্বল্প কথা

(একটি কর্মক্ষেত্রে মূল্যায়ন করুন; একটি ডায়ালগ খোলে, একটি সংখ্যা জিজ্ঞাসা করে এবং স্টাডআউটে ফলাফল মুদ্রণ করে):

"in" "this" 'poem,' "you" "must"
"pronounce" "characters" "like" "these:"
"return(^)," "and" "times(*);" "please".

"but" 'never' "in" "here"
"tell" "anyone" "about" "those"
"few" "parentheses".

"otherwise" "these" "words" 
"are" "stupid" "and" "this" "coded" 
"rhyme" "is" "wasted" Time.

"let" "us" "now" "begin" 
"by" "defining," "in" Object
"and" compile: "the" "rhyme:"

'fac: "with" arg"ument"
"to" "compare" arg <"against" 2 ">"
"and" ifTrue: [ ^"return"

"["1] "or" ifFalse: "then"
["return"^ arg *"times" "the" "result"
"of" ("my"self ")getting"

"the" fac:"torial"
"of" "the" "number" arg "minus"-
1 "[(yes," "its" "easy")]'.

("Let" "me" "my"self "ask"
"for" "a" "number," "to" "compute"
"the" fac:"torial"

("by" "opening" "a" 
"nice" Dialog "which" "sends" "a"
request: "asking" "for"

'the Number to use' 
"(which" "is" "(" "treated" ) asNumber)
"then" print "the" "result".

আমি কিছু প্রতিবিম্ব ("এই কবিতায়") এবং কিগোও আনার চেষ্টা করেছি। এছাড়াও, কিছু পশ্চিমা স্টাইলের ছড়া উপাদান অন্তর্ভুক্ত করা হয়েছে (দয়া করে-> এগুলি, সময়-> ছড়া); তবে জাপানীজ, না ইংরেজির নাগরিক স্পিকার না হয়ে কোনও স্টাইলিস্টিক বিবরণ ক্ষমা করুন ;-)


বিটিডাব্লু: স্কেয়াক / ফারাতে চেষ্টা করার জন্য, "ফিলিইন দ্য ব্ল্যাঙ্কমর্ফ" দ্বারা "ডায়ালগ" এবং "পরিদর্শন" দ্বারা "মুদ্রণ" প্রতিস্থাপন করুন।
blabla999

40

Haskell,

fact :: Int -> Int          -- fact is Int to Int
fact x = product (range x)  -- fact x is product range x
range x = [1..x]            -- range x is 1 [pause] x

হাস্কেল শিক্ষার সময়:

  • range xফাংশন আপ এর মান 1 থেকে পূর্ণসংখ্যার একটি তালিকা তৈরি করে x
  • fact xফাংশন তালিকার সব মান দ্বিগুণ করে range xফলাফলের গনা একসঙ্গে।
  • প্রথম লাইনটি বলে যে factফাংশনটি একটি পূর্ণসংখ্যা নেয় এবং একটি পূর্ণসংখ্যা দেয়।

3
কিছুটা অনুপস্থিতি @ জনডভোরাক?
jwg

2
ফর্ম ওভার ফাংশন। এটি যদি সত্যিকারের প্রোগ্রামিং হয় তবে আমি অবশ্যই ওভারফ্লো কেসের জন্য অ্যাকাউন্ট করব :)
ড্যানমকার্ডেল

7
range x is 1 to xযদিও 6 টি সিলেবল রয়েছে
ডেভিড জেড

9
@ ডেভিড আমি এটিকে "রেঞ্জ এক্স হ'ল [নাটকীয় বিরাম] এক্স" বলে পড়লাম।
আনকো

3
আমি আপনাকে হস্কেল শিখতে চাইলে আমি আপনাকে উচ্চতর প্রস্তাব দিই ।
danmcardle

40

জাভা - 2 হাইকুস

protected static
        int factorial(int n) {
    if (n == 0) {
        return n + 1;
    } return factorial(n
            - 1) * n;}

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

আমি এটি উচ্চারণ:

সুরক্ষিত স্ট্যাটিক
ইন্ট ফ্যাক্টরিয়াল ইন এন
যদি এন শূন্য হয়

রিটার্ন এন প্লাস এক
রিটার্ন ফ্যাক্টরিয়াল এন
বিয়োগ একবারে এন


পরীক্ষা প্রোগ্রাম:

class Factorial {                                    // class Factorial
    public static void main(String[]                 // public static void main string
            command_line_run_args) {                 // command line run args

        int i = 0;                                   // int i is zero
        while (7 != 0)                               // while seven is not zero
            System.out.                              // System dot out dot

                    println(i + "!"                  // print line i plus not
                            + " = " + factorial(     // plus is plus factorial
                            i += 1));}               // i plus equals 1

    protected static
            int factorial(int n) {
        if (n == 0) {
            return n + 1;
        } return factorial(n
                - 1) * n;}}

নোট করুন যে এই প্রোগ্রামটি 0দ্রুত আউটপুট করা শুরু করে ; ওভারফ্লো এর একটি ফলাফল। আপনি প্রতিটি এ পরিবর্তন করে সহজেই বৃহত্তর সঠিক নম্বর পেতে intপারেন long

জন্য আদর্শ উচ্চারণ System.out.printlnএবং public static void main(String[] args)প্রোগ্রাম মধ্যে প্রতিফলিত হয়।


2
আনপভোটের জন্য দুঃখিত; আমি হাস্কেল সমাধানটি উত্সাহিত করতে চাই
জন ডিভোরাক

26

APL

factorial←{×/⍳⍵}

কারখানাটি হ'ল ওমেগা পর্যন্ত
প্রাকৃতিক পণ্য


1
<- কিরেজি হিসাবে কাজ করা, আপনি কি জানতেন যে আপনি যা করছিলেন তা কি না for
জোনাথন ভ্যান মাত্রে

পুনঃটুইট করেছেন সিলেবলগুলি গণনা করার জন্য আমি একটি অভিধান ব্যবহার করেছি যদিও (কোনও দেশীয় স্পিকার নয়) কিরিজি দেখানোর জন্য আমি একটি ড্যাশ যুক্ত করেছি।
টোবিয়া

2
ইংরেজিতে সহজ এবং উচ্ছ্বাস উভয়ের জন্যও +1।
imallett

সরল, তবু সুন্দর।
FUZxxl

1
তিনটি বাইট সংরক্ষণ করুন: factorial←×/⍳"ইনপুট পর্যন্ত"।
অ্যাডম

17

শেক্সপীয়ার

The Products of Love:
A haiku tragedy with
mathy undertones.

Romeo, a man.
Juliet, a maiden fair.
Friar John, a monk.

Act I: A Cycle.
Scene I: Pertinent Values.
[Enter Romeo]

[Enter Friar John]
Romeo: Listen to thy
heart. Thou art thyself.

Friar John: Thou art
as forthright as a songbird.
[Exit Friar John]

[Enter Juliet]
Romeo: Thou art as fair
as a violet.

Scene II: Questioning
Themselves. [Exit Juliet]
[Enter Friar John]

Friar John: Art thou
as just as the sum of me
and a nobleman?

Romeo: If so,
let us proceed to scene III.
[Exit Friar John]

[Enter Juliet]
Romeo: Thou art as good
as the product of

thyself and myself.
Juliet: Thou art as fierce
as the sum of an

eagle and thyself.
We must return to scene II.
Scene III: A Lengthy

Title for a Brief
Dénouement; Or, The Last Word.
[Exit Friar John]

[Enter Juliet]
Romeo: Open your heart.
[Exit Romeo]

একটি (কল্পনা করা) পরীক্ষা কেস:

এর দৈর্ঘ্য সত্ত্বেও, এই প্রোগ্রামটি কেবল ইনপুট হিসাবে একটি একক পূর্ণসংখ্যা নেয় এবং আউটপুট হিসাবে একটি একক পূর্ণসংখ্যা সরবরাহ করে। তাই:

6 ↵ 720
7 ↵ 5040
0 ↵ 1    1 ↵ 1

("ছয়, সাত-বিশ। / সাত, পাঁচ হাজার চল্লিশ। / জিরো, এক। এক, এক।")


5
আমি নিশ্চিত নই যে এই বিষয়টিকে আমি বৈধ কোড বলে বলতে পারি সে সম্পর্কে আমি কেমন অনুভব করছি।
এলোমেলো

12

পাইথন 2, 4 হাইকুস

একটি সম্পূর্ণ পাইথন 2 প্রোগ্রাম haifac.py। হিসাবে চালানpython haifac.py <n>

#run this full program
import operator as\
op; import sys#tem

#please provide an arg
n = sys.argv[1]
def haifac (n):

    if n < 1:
        return 1#to me at once
    else:#do something else

        return op.mul(
            n, haifac(n - 1))
print haifac(int(n))

Pronounciation:

এই সম্পূর্ণ প্রোগ্রামটি
আমদানি অপারেটরটিকে
ওপি আমদানি সিস্টেম হিসাবে চালান

দয়া করে একটি আরগ
এন সমান সিস আরগ ভি 1
সংজ্ঞায়িত হাই ফেস এন প্রদান করুন

যদি এন এর চেয়ে কম 1
আমার কাছে 1 ফিরে আসে তবে
অন্য কিছু করুন

রিটার্ন অপ্ট ডট মুল
এন হাই ফেস এন বিয়োগ 1
প্রিন্ট হাই ফেস ইন এন


1
আমি #to me at onceমিটার কাজ করার জন্য ব্যবহার পছন্দ করি ...
ফ্লোরিস

2
এবং আমি শুরুতে পালানো নিউলাইনটি পছন্দ করি :)
জোহানেস এইচ।

2
আমি মনে করি মন্তব্যগুলি ব্যবহার করা এক ধরণের প্রতারণার মতো।
Ypnypn

9

গল্ফস্ক্রিপ্ট, 2 হাইকুস

),{0>},{,,*}*

প্রতিটি কীস্ট্রোক গণনা করে হাইকু হিসাবে পড়ুন:

#close parenthesis
#comma open-brace zero
#greater-than close-brace

#comma open-brace
#comma comma asterisk
#close-brace asterisk

পরীক্ষার ক্ষেত্রে (5 হাইকাস):

[1 2 3]4+          #generate the array [1 2 3 4]
{                  #start creating block
),{0>},{,,*}*      #actual factorial code
}%                 #close block and map across array (so that we should have [1! 2! 3! 4!])
[1 2 6]2.3**12++=  #generate the array [1 2 6 24] and check for equality

হাইকু হিসাবে পড়ুন:

#open-bracket one
#space two space three close-bracket
#four plus open-brace

#close parenthesis
#comma open-brace zero
#greater-than close-brace

#comma open-brace
#comma comma asterisk
#close-brace asterisk

#close-brace percent-sign
#open-bracket one space two
#space six close-bracket

#two period three
#asterisk asterisk one
#two plus plus equals

8

বের

: fugu 1              \ colon fugu one                = 5
swap 1 + 1 ?do        \ swap one plus one question do = 7
i * loop ;            \ eye star loop semi            = 5

ফুগু হ'ল ফাংশন এবং কিগোতে আমার প্রচেষ্টা : ব্লো ফিশ একটি শীতের উল্লেখ। আমি গণনা করা লুপের আগে কিরেজি , টার্নিং পয়েন্ট ?doহতে চাই ।


7

পিএইচপি, 4 হাইকাস

ছড়াছড়ি হাইকুস!

function haiku($can) { // function haiku can (5)
    if ($can == 1) // if can is equal to one (7)
        return ++$stun; // return increase stun (5)

    if ($can == 0) { // if can equals ou (5)
        echo "It is one, you know! "; //echo "It is one, you know! " (7)
        return 1+$blow; } //return one plus blow (5)

    if ($can > $fun) { //if can exceeds fun (5)
        return haiku($can-1) //return haiku can less one (7)
            *$can; }} //multiplied by can (5)

if (null == $knee) { // if null equals knee (5)
    $free=0+3; // free equals zero plus three (7)
    echo haiku($free); } // echo haiku free (5)

1
আমি তিনটি লাইন পড়ি return plus plus stun
কর্সিকা

আমি সত্যিই এই এক পছন্দ।
বেনজিওবি

7

সাদা ব্যবধান

এই এক ব্যবহার করে নির্মিত হয় সবচেয়ে বিখ্যাত হাইকু s, এবং একটি মহান চুক্তি এটি সম্পর্কে লেখা হয়েছে।

কেন আগে কেউ এ কাজ করেনি তা জানা নেই , এমনকি কোনও প্রচেষ্টাও লাগে না!

প্রথমত, কবিতাটি পড়ার আগে, আমি আপনাকে ফিরে ঝুঁকানো, শিথিল হওয়া এবং কবিতাটির চারপাশে দুর্দান্ত শূন্যতার দ্বারা নির্মিত প্রশান্তি উপভোগ করতে চাই। এটি পুকুরকে জোর দেয়, এটি একটি বিস্তৃত আড়াআড়ি দ্বারা বেষ্টিত।

古 池 や    
蛙 飛 び こ む               
水 の 音             






































































































































ফাইলবিনে উত্স কোড

আপনি যদি জাপানীজ না বলতে পারেন তবে এটি নিম্নলিখিত হিসাবে উচ্চারণ করা হবে:

ফু রু আমি কে ইয়া

কা ওয়া জু টু দ্বি কো মু

মাই জু না ও তে

স্বাভাবিকভাবেই, এটি মোরে গণনা করা হয়। Kirejiや(হয় আগে ) , kigo (মৌসুমি রেফারেন্স)蛙আছে ( kawazu , ব্যাঙ, -> বসন্ত)

অফিসিয়াল পৃষ্ঠা থেকে লিনাক্স ইন্টারপ্রেটার ব্যবহার করে আপনি এটি ব্যবহার করতে পারেন:

$ প্রতিধ্বনি 5 | ./wspace .ws


6

ম্যাথামেটিকাল

f[x_]:=     (* f of x defined *)
 x f[x-1]   (* x times f of x less 1 *)
f[1]=1      (* Mogami River *) 

প্যাডেন্টরা শেষ পংক্তিটি "f এর 1 এ 1" হিসাবে পড়তে পারে তবে আমি বাশোর চেঁচামেচি প্রতিরোধ করতে পারিনি।

পরীক্ষামূলক:

Table[f[n],     (* Table f of n *)
 {n, 1, 10, 1}] (* n from 1 to 10 by 1 *)
ListLogPlot[%]  (* ListLogPlot output *)

রিটার্নিং:

(1, 2, 6, 24, 120, 720, 5040, 40320, 362880, 3628800)

মানগুলির লগ প্লট

ভাষাগত স্বাতন্ত্র্য বোনাস হাইকু (@ কর্পলিয়ান দ্বারা অনুপ্রাণিত)

Rewrite any term
High-level functions abound —
Mathematica

5

দল

@set /a t=1 &^
for /L %%a in (2, 1, %1) ^
do @set /a t*=%%a

উচ্চারণ ; এই চিহ্নগুলির পাশাপাশি গাণিতিক প্রকাশগুলি উপেক্ষা করুন @ / % ^ , ( ):

1 এ সেট করুন এবং
এল 1 এর জন্য 2 1 1 এ অ্যাট
সেট করুন

বিঃদ্রঃ; এটি ফ্যাকটোরিয়াল গণনা করে, এটি আউটপুট দেয় না - ভেরিয়েবলটিতে tফ্যাক্টরিয়াল থাকে।

ফ্যাকটোরিয়াল আউটপুট করতে নিম্নলিখিত হাইকু / কোডটি একই ব্যাচের ফাইলটিতে সংযুক্ত করা যেতে পারে (এরগুলি |পাইপ হিসাবে ঘোষণা করা হয়):

@echo %t% ||^
When will you learn, unclemeat ^
Why must you use Batch?

5

Clojure

(->> *command-line-args*                ; thrush com-mand line args
  seq last read-string range (map inc)  ; seq last read string range map inc
  (reduce *) println)                   ; re-duce times print-lin

5

এফ #

let fact n =
    [1..n] |>
    Seq.fold (*) 1

এন এর সত্যতা
এক থেকে শুরু করে এন পর্যন্ত,
সেক ডট ফোল্ড স্টারটি প্রয়োগ করুন


আমার চুরি করেছে ...;)
জোস্টি

5

newLISP

প্রথম বন্ধনী উচ্চারণ করা হয় না:

(define (fac n (so))            ; define fac n so 
(if (= n 0) 1                   ; if equals n zero 1
(* n (fac (dec n)))))           ; times n fac dec n

(for (n 0 10)                   ; for n zero ten
; let's test from zero to ten
(println (fac n thus)))         ; printline fac n thus

লিস্প কোড থাকে

অসংখ্য বন্ধনী

এবং কয়েকটি ফাংশন


কমেন্ট্রি হাইকু ভালোবাসি। এটি অনুপ্রেরণা হিসাবে গ্রহণ করা এবং আমার উত্তরে একটি যুক্ত করা।
জোনাথন ভ্যান মাত্রে

5

পার্ল

$r = 1; for(1           # r gets one for one
.. pop @ARGV) { $r *=   # to pop arg v r splat gets
$_; } print $r;         # the default print r

নামের একটি ফাইল এটি টস f.pl

এবং আউটপুট:

l perl f.pl 3
6 $ পার্ল f.pl 1-1
1 $ পার্ল f.pl 10
3628800 $ 

যা পড়ে:

পার্ল এফপিএল তিন
পার্ল fpl আরও এক
perl fpl দশ

1
7-5-7 এ আপনি কীভাবে পরীক্ষার উচ্চারণ করবেন?
ক্রিস্টোফার ক্রিউটজিগ

@ ক্রিস্টোফার ক্রিউটজিগ আমি সেখানে পরীক্ষার জন্য ('পার্ল এফপিএল থ্রি' (5) এবং 'পার্ল এফপিএল জে-রো' (6)) সুন্দরভাবে 5 এবং 6 পেতে পারি ... আমি পরিষ্কার একটি 7 খুঁজে বের করতে পারি না যা দেখায় প্রয়োজনীয় পরীক্ষা।

ক্রিস্টোফার ক্রিউটজিগ এটির জন্য একটি কৌশল বের করেছেন। আমাকে সেই প্রয়োজনীয়তার কথা মনে করিয়ে দেওয়ার জন্য আপনাকে ধন্যবাদ। (যদিও ন্যায়সঙ্গত হতে, 1-1 আসলে '0' পরীক্ষা করে না, কেবল একই ফলাফল দেয় - এটি যদিও শূন্যের জন্য কাজ করে)

5

LiveScript

এটি একটি মধ্যযুগীয়:

prelude = ^^ do                       # prelude is clone do
  require \prelude-ls                 # require prelude dash ls
{ product } = prelude                 # product is prelude

story = (ah) ->                       # story is ah such:
  ones-misery = (one) ->              # one's misery is one such
    let death = product               # let death be product

      fight = [1 to one]              # fight is one to one
      why = (one) -> death <| fight   # why is one such death take fight
  ones-misery ah                      # one's misery ah

room = console.log                    # room is console log
room <| (story 10)!                   # room take story three bang
[null of { use : this }]              # no of use is this

প্রিন্ট 3628800, যা হয় 10!। এটি সামান্য চতুর্দিকে: ফাংশনটি storyএকটি ফাংশন দেয় ones-misery, যা সর্বদা উত্তর দেয়। এটি সেইভাবে আর্টিয়র।

কোন ফিলার মন্তব্য বা অপ্রয়োজনীয় স্ট্রিং নেই!


বোনাস ডিবাগিং গল্প:

আমি
যখন হাসি ফুটে উঠলাম তখন জানানো হয়েছিল যে একটি বাগ
" deathহ'ল undefined"


3
হাহাহা, আপনি যদি "মৃত্যু =! গর্বিত" হন তবে আপনি সেই বাগটি আঘাত করতে পারবেন না। কবিতাফাউন্ডেশন.org
জোনাথন ভ্যান

5

Haskell,

এই এক ছড়া হাইকু হবে!

সত্য 0 = 1 - সত্য শূন্য এক
ফ্যাক্ট টন = টন * (ফ্যাক্ট স্টান) - ফ্যাক্ট টন হ'ল টোন গুণ ফ্যাক্ট স্টান
        যেখানে স্টান = পূর্ব টন - কোথাও স্টান পূর্ব টন

হ্যাঁ!

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


মার্জিত! (ফিলার)
বিড়াল

4

রুবি - ওয়ান হাইকু

ARGV.first.to_i.
 tap do |please| puts 1.upto(
 please ).inject( :*) end

এটি পড়ুন (বিরামচিহ্ন উপেক্ষা করে তবে একটি ইমোটিকন সহ):

 arg vee first to i
   tap do please puts one up to
 please inject smile end

0! এর জন্য কোনও আউটপুট উত্পাদন করে না।
200_সাক্সেস

@ 200_সাক্সেস: ধন্যবাদ আমাকে এটির সাথে থাকতে হবে, এটি প্রয়োজনীয়তার সাথে কঠোরভাবে নয়, তাই আমার একটি ধারণা থাকবে
নীল স্লেটার

এছাড়াও পরীক্ষা হাইকু বোঝানো হয়। আমি এটা আমার প্রথম পড়তে মিস করেছি।
জোনাথন ভান মাত্রে

@ জোনাথন ভ্যান মাত্রে: হ্যাঁ আমিও এটি মিস করেছি। এমনকি শীর্ষস্থানীয় উত্তরগুলি এটি নিয়ে বিরক্ত করছে না বলে মনে হচ্ছে। আমার কমান্ড লাইনে থাকাকালীন, বহু-লাইন পাওয়া মুশকিল, আমি অনুমান করি যদিও এখনই পরীক্ষার এটি অপসারণ করা উচিত, যদিও এটির একটি যুক্তিযুক্ত উত্তর দেওয়ার জন্য। । ।
নিল স্লেটার

4

এসএমএলে:

fun fact 0 = 1
  | fact n = n*fact(n-1)
  ;

হিসাবে পড়ুন:

"fun fact 0 is one,
bar that, fact n is n times
fact of n less one"

3

পার্ল

আমি জানি এটি রেডিমেড ফাংশনগুলি ব্যবহার করা নিয়মের বিরুদ্ধে, তবে আমি যা পাই তা এখানে।

ভাবুন আপনার কাজটি একটি অত্যধিক আকারের রডেন্টকে নির্দেশ দেওয়া:

use Math::BigRat; use
feature 'say'; use warnings; say
new Math::BigRat($_)->bfac

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

use Math::BaseConvert
':all'; no strict subs; no warnings;
reset and say fact($_)

এখনও কোন লাভ হয়নি। তারপরে আপনাকে এটিকে সরল ইংরেজীতে ব্যাখ্যা করতে হবে:

no strict; no warnings;
use Math::Combinatorics;
say factorial($_)

এরপরে কী ঘটেছিল আমি জানি না, তবে কোডটি বৈধ:

perl -nE 'use Math::BigRat; use feature "say"; use warnings; say new Math::BigRat($_)->bfac'
42
1405006117752879898543142606244511569936384000000000

এবং

perl -nE 'use Math::BaseConvert ":all"; no strict subs; no warnings; reset and say fact($_)'
33
8683317618811886495518194401280000000

এবং

perl -nE 'no strict; no warnings; use Math::Combinatorics; say factorial($_)'
16
20922789888000

3
"আমি আপনাকে আশ্বাস দিচ্ছি এটি একটি
স্বাক্ষরযোগ্য

1
খুব খারাপ আপনি সেখানে কোনও কয় ত্রুটি টস করতে পারবেন না ।

এখন পর্যন্ত এটিই একমাত্র উত্তর যা কোনও লিরিক্যাল গুণ রয়েছে :)
সেবাস্তিয়ান

1
@ সেবাস্তিয়ান এইচ, ধন্যবাদ :), যদিও আমি অন্যকে নিয়ম করে খেলতে চেষ্টা করার সময় প্রতারণা করেছি
ব্যবহারকারীর জন্য ২৪৪4২৯৯

2

পাইথন

lambda n: reduce(
    lambda a, b: a * b,
    range(1, n), n)

আমি এটি যেভাবে পড়েছি:

lambda n: reduce
lambda a b: a times b
range 1 to n, n

`


0! এর জন্য বগি আউটপুট উত্পাদন করে।
200_সূচী

2

সি

#include <std\
io.h> 
#include \
<stdlib.h>

int main(int argc
 , char** argv)
{   // iteratively
    // compute factorial here
long int n = \
0, i \
= 0, r = \
1 /*
product starts at one*/;

if (argc 
> 1) { n = 
strtol(argv[\
1], NULL, 10)
; if (n 
< 0) {
       printf("Arg must\
       be >= 0\n");
       exit(-
    1);}
} i = 
n;
while (i) { r 
= r * i;
    i
--;
} /* print
the result*/ printf(
"%d factorial\
equals %d\
\n", n
, r);
/*done*/}

Pronounciation:

পাউন্ডের মধ্যে স্ট্যান্ডার্ড
আই / ও ডট এইচ পাউন্ড রয়েছে
স্ট্যান্ডার্ড লিব ডট এইচ

ইন্ট মেইন ইন্ট আরগ সি
কমা ক্যার স্টার স্টার আরগ ভি
ওপেন ব্রেস কমেন্ট

পুনরাবৃত্তভাবে
এখানে পরিসংখ্যান গণনা
দীর্ঘ int n সমান

শূন্য কমা i
সমান শূন্য কমা r
একটি মন্তব্য সমান


আরগ সি
একের চেয়ে বড় হলে পণ্যটি একটি সেমিকোলনে শুরু হয়

ওপেন ব্রেস
এনটি আরগের ভি-ওয়ান
ওয়ান কমা নুল কমা দশের টিআর-টু-এল

সেমিকোলন যদি
শূন্যের চেয়ে কম
প্রিন্টফ আরগ অবশ্যই হয়


শূন্য ব্যাকস্ল্যাশ
এন সেমিকোলনের চেয়ে বড় বা সমান

নেগেটিভ
এক সেমিকোলন এন্ড ব্রেস
এন্ড ব্রেস আই সমান

n সেমিকোলন
যখন আমি ব্রেস খুলি তখন
r বারের সমান i

সেমিকোলন আমি
হ্রাস সেমিকোলন
বন্ধ বন্ধনী মন্তব্য মুদ্রণ

ফলাফল মুদ্রণ
শতাংশ শতাংশ d এর
সমান শতাংশ d

হ্যাক এন কমা এন
কমা আর সেমিকোলন
মন্তব্য শেষ বন্ধনী


#চরিত্র সাধারণত উচ্চারণ করা হয় ধারালো বা octothorpe সি কোডে।
FUZxxl

1

সি # - 3 হাইকুস

আমি সাধারন সি # ব্যবহার করে, নামস্থান এবং শ্রেণি সংজ্ঞা বিশৃঙ্খলা ব্যবহার করে সরিয়েছি, যা চতুর্থ হাইকু হবে।

public static void
Main(){int num = Convert.
ToInt32

(Console.ReadLine());
 Console.WriteLine(num ==
 0 ? 1 :

Enumerable.
Range(1, num).Aggregate
((i, j) => i * j));}

যা আমি পড়ি

public static void 
Main int num equals Convert
To int thirty-two

Console dot Read line
Console Write line num equals
zero? then one, else

Enumerable
Range 1 to num aggregate
i j i times j

1

Haskell,

module Haiku where          -- read literally.
fac x = let in do           -- = is read as 'equals'
product [1..x]              -- product one to x

নোট করুন যে মডিউলটি .. যেখানে সংকলন ব্যতীত যে কোনও হাস্কেল কোডে স্বয়ংক্রিয়ভাবে যুক্ত হবে, তাই এটি না লিখে ব্যবহারিকভাবে প্রতারণা করা হচ্ছে।


আজ অবধি আমার কোনও ধারণা ছিল না যে আপনি কোনও বয়ানের অধীনে প্রবেশ করতে পারবেন doএবং এটি হওয়ার দরকার নেই Monad a => a
onyxite

1

জাভা:

প্রশ্নের জবাবে এবং দ্বাইকু (দ্বৈত-হাইকু বা আপনি যা বলতে চান) এর জবাতে জাভাতে কুইঞ্চুনস পোস্ট করেছেন, এখানে সঠিক হাইকু রয়েছে:

public static int factorial(int n) {
   return (n==0) ? (n+1) : (factorial(n-1) * n);
}

1

জাভাস্ক্রিপ্ট - দুটি হাইকুস

function factor (a) {          // function factor a
  if(!a){ return 1 ||          // if not a return 1 or
    a & 17}                    // a and seventeen

  else if (a + 1){             // else if a plus one 
    return a * factor          // return a into factor
    (a + ( - 1) )  }}          // a plus minus one 

আমি নেটিভ স্পিকার নই। সুতরাং, আমি সিলেবলগুলি গণনা করার জন্য একটি অভিধান ব্যবহার করেছি। আশা করি, এটি যথেষ্ট ভাল। যে কোনও প্রতিক্রিয়া স্বাগত :)


1

পাওয়ারশেল, 2 হাইকুস

function facto ($num){    # function facto num
$i = 1; 1..$num|          # i equals one; i to num
foreach { $i =            # for each i equals

$i * $_}; write $i}       # i times this write i
$answer = facto $args[    # answer equals facto args
0]; write $answer         # zero write answer

1

আমাদের কি ফিলার ব্যবহারের অনুমতি দেওয়া হচ্ছে?

পাইথন 2 হাইকাস:

number = num + 1
a = 13 + 4
b = 14

nuum = len([1])
for i in range(1, number):
    nuum *= i

nuum equals length one?
পিয়ের আরলাড

তালিকার দৈর্ঘ্য
মাল্টিসেন

আমি আপনার প্রথম লাইনের উচ্চারণের জন্য জিজ্ঞাসা করছি। num equals length of the list5 এর পরিবর্তে 7 টি সিলেবাস তৈরি করে
পিয়ের আরলাড

1
আপনি এর nuumসাথে প্রতিস্থাপন করতে পারেন foo(কারণ আমি পড়ছি নূ-উম হিসাবে, যা আপনাকে সীমা ছাড়িয়ে যায়))
আসিথিয়ানসী

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