हाइकु में तथ्य!


60

कार्य

एक ऐसा प्रोग्राम बनाएं, जो बिना बिल्ट-इन फैक्टोरियल फंक्शंस का उपयोग करके किसी संख्या के फैक्टरियल की गणना करता है। आसान? पकड़ यह है कि आपको हाइकु रूप में अपना पूरा कार्यक्रम (परीक्षण सहित) लिखना होगा ।

पर्याप्त काम नहीं है
आप आवश्यकतानुसार कई हाइक का उपयोग कर सकते हैं, लेकिन जब उच्चारण किया जाता है, तो उन्हें 5-7-5 शब्दांश प्रारूप का पालन करना चाहिए।

स्कोरिंग

यह एक , इसलिए आपको जीतने के लिए सबसे अधिक उत्थान चाहिए। आपके कार्यक्रम में कम से कम एक पूर्ण हाइकु शामिल होना चाहिए, और सभी हाइक पूर्ण होने चाहिए।

कोड पढ़ते समय, प्रत्येक हाइकू की पहली पंक्ति में 5 शब्दांश होंगे, दूसरे में 7 और तीसरे में 5 अंक होंगे।


5
शेक्सपियर में लिखी गई किसी चीज़ के लिए एक सही फिट की तरह लगता है: shakespearelang.sourceforge.net/report/shakespeare/…
डेनिस डी बर्नार्डी

2
ऐसा लगता है कि अधिकांश उत्तर " परीक्षण सहित " की अनदेखी कर रहे हैं ।
अंको

5
मुझे पसंद है कि आप किसी ऐसी साइट से कैसे लिंक करते हैं जो हाइकु के लिए सही बात कहती है, (ए) किरू और (बी) एक मौसमी संदर्भ हैं और उसके बाद केवल गिनती के मोरा (या किसी भाषा में शब्दांश) के अधिक या कम वैकल्पिक हिस्से के लिए पूछें: 'टी वास्तव में मोरा है । Christ
क्रिस्टोफर क्रुट्ज़िग

1
मैं @ChristopherCreutzig से सहमत हूँ - यह अधिक दिलचस्प होगा यदि हमें एक मौसमी संदर्भ और कटिंग सुनिश्चित करना पड़े। अफसोस की बात है कि हम अक्सर हाइकु की इन बुनियादी बातों की अनदेखी करते हैं। मुझे लगता है कि 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".

मैंने कुछ प्रतिबिंब ("इस कविता में") और किगो के रूप में भी लाने की कोशिश की। इसके अलावा, कुछ पश्चिमी शैली के कविता तत्व शामिल हैं (कृपया-> ये, समय-> कविता); हालाँकि, न तो जापानी के मूल वक्ता हैं, और न ही अंग्रेजी के, किसी भी शैलीगत विवरण को भूल जाते हैं ;-)


BTW: स्क्वीक / फ़ारो में प्रयास करने के लिए, "फ़िलॉग" को "FillInTheBlankMorph" और "प्रिंट" द्वारा "निरीक्षण" से बदल दें।
blabla999

40

हास्केल

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
कुछ बात याद आ रही है @JDDvorak?
jwg

2
कार्य पर प्रपत्र। अगर यह वास्तविक प्रोग्रामिंग थी, तो मैं निश्चित रूप से अतिप्रवाह मामले के लिए
जिम्मेदार होगा

7
range x is 1 to x6 सिलेबल्स है, हालांकि
डेविड जेड

9
@ मैं इसे "रेंज x एक है [नाटकीय ठहराव] x" के रूप में पढ़ता हूं।
Anko

3
यदि आप एक हास्केल सीखना चाहते हैं, तो मैं अत्यधिक आपको एक हास्केल सीखने की सलाह देता हूं ।
danmcardle

40

जावा - 2 हाइक

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

यहां तक ​​कि जब सवाल , तो मैं अक्सर खुद को जवाब गोल्फ पकड़ता हूं। इस मामले में, मैंने हाईकस की संख्या को बढ़ाया।

मैं इसका उच्चारण करता हूं:

संरक्षित स्थैतिक
अंतरंग int n
अगर 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

एपीएल

factorial←{×/⍳⍵}

फैक्टरियल है- ओमेगा तक
के नक्टल्स का उत्पाद


1
+1 के लिए <- एक कीरेजी के रूप में कार्य करना, चाहे आप जानते थे कि आप क्या कर रहे थे या नहीं।
जोनाथन वान मैट्रे

@JonathanVanMatre LOL का भी कोई सुराग नहीं! मैंने सिलेबल्स को गिनने के लिए एक डिक्शनरी का उपयोग किया था (देशी वक्ता नहीं।) मैंने किरजी दिखाने के लिए एक डैश जोड़ा।
टोबिया

2
अंग्रेजी में सरल और हर्षित दोनों के लिए भी +1।
imallett

सरल, फिर भी सुंदर।
फूज़ेक्नल

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:

इस पूर्ण कार्यक्रम
आयात ऑपरेटर को
op आयात प्रणाली के रूप में चलाएं

कृपया एक ar
n प्रदान करें n बराबर sys arg v 1
परिभाषित करें fac n

अगर n 1 से कम 1
रिटर्न मेरे लिए एक बार में
कुछ और करते हैं

वापसी op डॉट mul
n hai fac n minus 1
प्रिंट है फेस इंट एन


1
मुझे #to me at onceमीटर का काम करने का उपयोग पसंद है ...
फ्लोरिस

2
और मुझे शुरुआत में बची हुई न्यूलाइन पसंद है :)
जोहान्स एच।

2
मुझे लगता है कि टिप्पणियों का उपयोग करना धोखा देने जैसा है।
यपनिप

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होने की kireji ,, मोड़ गिना पाश से पहले।


7

PHP, 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
corsiKa

मुझे यह वास्तव में पसंद है।
बेनजीवेबे

7

श्वेत रिक्ति

यह सबसे प्रसिद्ध हाइकू में से एक का उपयोग करता है , और इसके बारे में बहुत कुछ लिखा गया है।

पता नहीं क्यों पहले किसी ने ऐसा नहीं किया, यह भी कोई प्रयास नहीं करता है!

सबसे पहले, कविता को पढ़ने से पहले, मैं चाहता हूं कि आप कविता के आस-पास के महान शून्य द्वारा निर्मित शांति का आनंद लें, आराम करें और आनंद लें। यह तालाब पर जोर देता है, एक विशाल परिदृश्य से घिरा हुआ है।

古 池 や    
蛙 飛 び こ む               
水 の 音             






































































































































फाइलबिन पर स्रोत कोड

मामले में आप जापानी बात नहीं करते, यह स्पष्ट है इस प्रकार है:

फू आरयू मैं के

का वा ज़ू टू बाय को मु

mi zu no o to

स्वाभाविक रूप से, यह मोरा द्वारा गिना जाता है। 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 of 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 पर सेट करें और
2 ए 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

n के तथ्य को
एक से n तक होने दें ,
Seq dot fold स्टार वन लागू करें


चुरा लिया मेरा ...;)
ज्वास्तगी

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

और आउटपुट:

$ perl f.pl 3
6 $ perl f.pl 1-1
1 $ perl f.pl 10
3628800 $ 

जो इस प्रकार है:

perl fpl तीन
पर्ल एफपीएल एक कम एक
perl fpl दस

1
7-5-7 में आप परीक्षण कैसे करते हैं?
क्रिस्टोफर Creutzig

@ChristopherCreutzig मैं वहाँ 5 और 6 परीक्षण के लिए अच्छी तरह से प्राप्त कर सकते हैं ('perl fpl तीन' (5) और 'perl fpl ze-ro' (6)) ... मैं एक साफ-सुथरी आकृति का पता नहीं लगा सकता, जो दिखाता है आवश्यक परीक्षण।

@ChristopherCreutzig ने इसके लिए एक तरकीब निकाली। मुझे उस आवश्यकता की याद दिलाने के लिए धन्यवाद। (हालांकि, निष्पक्ष होने के लिए, 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
हाहा, अगर आप "मृत्यु = गौरवान्वित" होते तो आप उस बग को नहीं मारते। poryfoundation.org/poem/173363
जोनाथन वान

5

हास्केल

यह एक कविता हाइकू होगा!

fact 0 = 1 --fact शून्य एक है
fact ton = ton * (fact stun) --fact ton, ton ton fact stun है
        जहां स्टन = प्री टन - वे स्टन पूर्व टन है

हाँ!

नोट: प्रीड का अर्थ है पिछली संख्या। हस्केल में भी, आपके पास एक फ़ंक्शन की कई परिभाषाएं हो सकती हैं, और जो पहले समझ में आता है उसका उपयोग किया जाता है।


सुरुचिपूर्ण! (फिलर)
बिल्ली

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 के लिए कोई आउटपुट नहीं देता है!
२००/१।

@ २००_ असफल: धन्यवाद। मुझे इसके साथ रहना पड़ सकता है, यह आवश्यकताओं में कड़ाई से नहीं है, इसलिए मेरे पास एक सोच होगी
नील स्लेटर

इसके अलावा परीक्षण हाइकू होने के लिए है। मुझे याद आया कि मैंने अपने आप को पहली बार पढ़ा था।
जोनाथन वान मैट्रे

@ जोनाथन वान मैट्रे: हां मैंने इसे भी याद किया। लगता है कि शीर्ष उत्तर भी इससे परेशान नहीं हैं। जैसा कि मेरा कमांड लाइन पर है, यह मल्टी-लाइन्स प्राप्त करने के लिए मुश्किल है, मुझे लगता है कि मुझे अभी के लिए परीक्षा को हटा देना चाहिए, हालांकि इसे कैनोनिक रूप से ठीक उत्तर देना है। । ।
नील स्लेटर

4

SML में:

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
"मैं आपको विश्वास दिलाता हूं कि यह एक शब्दांश है" :)
cormullion

1
बहुत बुरा आप वहाँ एक Coy त्रुटि टॉस नहीं कर सकते ।

यह अब तक का एकमात्र उत्तर है जिसमें कोई भी गीतात्मक गुण है
सेबस्टियन

1
@ सबीस्टियन, धन्यवाद :), हालांकि मैंने धोखा दिया जबकि अन्य ने नियमों से खेलने की कोशिश की
user2846289

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 के लिए छोटी गाड़ी उत्पादन करता है।
२०० से २०

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:

पाउंड में मानक
I / O डॉट h पाउंड शामिल हैं,
मानक lib dot h शामिल हैं

int main int arg c
कॉमा चार सितारा स्टार arg v
ओपन ब्रेस कमेंट

ऐतिहासिक रूप से
गणना करने योग्य फैक्टरियल यहाँ
लंबे समय तक एन बराबर है

शून्य अल्पविराम
बराबर होता है शून्य अल्पविराम आर
एक टिप्पणी के बराबर होता है

उत्पाद एक
अर्धविराम से शुरू होता है यदि arg c
एक से अधिक है

ओपन ब्रेस एन
अरग v उप
एक अल्पविराम NULL अल्पविराम दस का str-to-l है

सेमीकॉलन यदि
n से कम शून्य से शुरू होता है तो
प्रिंटफ आर्ग अवश्य होना चाहिए


शून्य बैकस्लैश
n अर्धविराम से अधिक या बराबर होना

नकारात्मक
से बाहर निकलें एक अर्धविराम अंत ब्रेस
एंड ब्रेस आई बराबरी

n अर्धविराम
जबकि मैं ब्रेस आर ओपन आर आर आई के
बराबर है

अर्धविराम मैं
कमी अर्धविराम
पास ब्रेस टिप्पणी प्रिंट

परिणाम Printf
प्रतिशत d factorial
प्रतिशत d के बराबर होता है

whack n comma n
comma r semicolon
टिप्पणी ने अंत ब्रेस किया


#चरित्र आम तौर पर स्पष्ट है तेज या octothorpe सी कोड में।
फूज़ेक्नल

1

सी # - 3 हाइक

मैंने सामान्य सी # का उपयोग करके, नाम स्थान और वर्ग परिभाषा अव्यवस्था को हटा दिया, जो एक 4 वीं हाइकू होगी।

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

हास्केल

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

ध्यान दें कि मॉड्यूल .. जहां संकलन के बिना किसी भी Haskell कोड में स्वचालित रूप से जोड़ा जाता है, इसलिए इसे लिखना व्यावहारिक रूप से धोखा नहीं है।


आज तक मुझे नहीं पता था कि आप एक भी बयान दर्ज कर सकते हैं doऔर यह होना जरूरी नहीं है Monad a => a
गोमेद

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(क्योंकि मैं पढ़ रहा हूँ अगर nu-um के रूप में, जो आपको सीमा पर रखता है।)
ASCIIThenANSI

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.