Faktorial di haiku!

60

Tugas

Buat program yang menghitung faktorial suatu angka tanpa menggunakan fungsi faktorial bawaan. Mudah? Tangkapannya adalah Anda harus menulis seluruh program Anda (termasuk mengujinya) dalam bentuk haiku .

Tidak cukup kerja
Anda dapat menggunakan haikus sebanyak yang Anda butuhkan, tetapi ketika diucapkan, mereka harus mengikuti format suku kata 5-7-5.

Mencetak gol

Ini adalah , jadi Anda harus mendapatkan hasil maksimal untuk menang. Program Anda harus terdiri dari setidaknya satu haiku penuh, dan semua haikus harus lengkap.

Saat membaca kode, baris pertama setiap haiku akan memiliki 5 suku kata, yang kedua memiliki 7 suku kata, dan yang ketiga memiliki 5 suku kata.

Dokter
sumber
5
Kedengarannya sangat cocok untuk sesuatu yang ditulis dalam Shakespeare: shakespearelang.sourceforge.net/report/shakespeare/…
Denis de Bernardy
2
Tampaknya sebagian besar jawaban mengabaikan " termasuk mengujinya ".
Anko
5
Saya suka bagaimana Anda menautkan ke situs yang dengan benar mengatakan hal penting untuk Haiku adalah (a) kiru dan (b) referensi musiman dan kemudian hanya meminta bagian yang kurang lebih opsional untuk menghitung mora (atau suku kata dalam bahasa yang tidak benar-benar memiliki mora . 😸
Christopher Creutzig
1
Saya setuju dengan @ChristopherCreutzig - akan jauh lebih menarik jika kita harus memastikan referensi dan pemotongan musiman. Sedihnya, kita sering mengabaikan dasar-dasar haiku ini. Menurut saya itu thenatau tanda baca bisa membantu memotong. Untuk kigo , tidak begitu yakin ...
Darren Stone
Saya bukan ahli Haikus, tetapi tentu saja ada kualitas lirik yang diharapkan. Sejauh ini saya hanya melihat satu jawaban yang ada.
SebastianH

Jawaban:

54

Smalltalk

(mengevaluasi di ruang kerja; membuka dialog, meminta nomor dan mencetak hasilnya di stdout):

"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".

Saya mencoba membawa beberapa refleksi ("dalam puisi ini") dan kigo juga. Juga, beberapa elemen sajak gaya barat termasuk (tolong-> ini, waktu-> sajak); namun, karena bukan penutur asli bahasa Jepang, atau bahasa Inggris, maafkan detail gaya apa pun ;-)

blabla999
sumber
BTW: Untuk mencoba Squeak / Pharo, ganti "Dialog" dengan "FillInTheBlankMorph" dan "print" dengan "inspect".
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

Waktu pendidikan Haskell:

  • The range xfungsi menciptakan daftar bilangan bulat dari 1 sampai dengan nilai x.
  • The fact xfungsi mengalikan semua nilai-nilai daftar range xbersama-sama untuk menghitung hasilnya.
  • Baris pertama mengatakan bahwa factfungsi tersebut mengambil integer dan mengembalikan integer.
danmcardle
sumber
3
merindukan intinya agak @JanDvorak?
jwg
2
Form over function. Jika ini adalah pemrograman nyata saya pasti akan menjelaskan kasus melimpah :)
danmcardle
7
range x is 1 to xadalah 6 suku kata
David Z
9
@ David Saya membacanya sebagai "rentang x adalah satu [jeda dramatis] x".
Anko
3
Saya sangat merekomendasikan Pelajari Anda Haskell jika Anda ingin belajar Anda Haskell.
danmcardle
40

Jawa - 2 haikus

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

Bahkan ketika pertanyaannya bukan , saya sering menemukan diri saya bermain golf jawabannya. Dalam hal ini, saya golf jumlah haikus.

Saya mengucapkan demikian:

dilindungi
int faktorial int n
jika n adalah nol

return n plus satu
return factorial n
minus satu kali n


Program uji:

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;}}

Perhatikan bahwa program ini mulai menghasilkan 0dengan cepat; itu adalah hasil dari luapan. Anda dapat dengan mudah mendapatkan angka yang benar lebih besar dengan mengubah masing int- masing ke long.

Pengucapan standar untuk System.out.printlndan public static void main(String[] args)tercermin dalam program.

Justin
sumber
2
Maaf atas pembatalannya; Saya ingin meningkatkan solusi Haskell
John Dvorak
26

APL

factorial←{×/⍳⍵}

Faktorial adalah—
produk alami
hingga omega

Tobia
sumber
1
+1 untuk <- berfungsi sebagai kireji, apakah Anda tahu itu yang Anda lakukan atau tidak.
Jonathan Van Matre
@JonathanVanMatre LOL bahkan tidak tahu! Saya memang menggunakan kamus untuk menghitung suku kata (bukan penutur asli.) Saya menambahkan tanda hubung untuk menunjukkan kireji.
Tobia
2
+1 karena juga sederhana dan merdu dalam bahasa Inggris.
Imallett
Sederhana, namun indah.
FUZxxl
1
Simpan tiga byte: factorial←×/⍳"hingga input".
Adám
17

Shakespeare

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]

Kasing (yang dibayangkan):

Terlepas dari panjangnya, program ini hanya membutuhkan satu bilangan bulat sebagai input dan menyediakan bilangan bulat tunggal sebagai output. Begitu:

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

("Enam, tujuh dua puluh. / Tujuh, lima ribu empat puluh. / Nol, satu. Satu, satu.")

Luke
sumber
5
Saya tidak yakin bagaimana perasaan saya tentang fakta yang dapat saya katakan ini adalah kode yang sah.
randomra
12

Python 2, 4 Haikus

Program Python 2 yang lengkap haifac.py. Jalankan sebagaipython 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))

Ucapan pengucapan:

jalankan
operator impor program lengkap ini sebagai
sistem impor op

berikan arg
n sama dengan sys arg v 1
define hai fac n

jika n kurang dari 1
kembalikan 1 kepada saya sekaligus
lakukan sesuatu yang lain

return op dot mul
n hai fac n minus 1
print hai fac int n

OregonTrail
sumber
1
Saya suka menggunakan #to me at onceuntuk membuat meteran bekerja ...
Floris
2
Dan saya suka baris baru yang lolos pada awalnya :)
Johannes H.
2
Saya pikir menggunakan komentar agak seperti curang.
Ypnypn
9

GolfScript, 2 Haikus

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

Baca sebagai haiku, sebutkan setiap penekanan tombol:

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

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

Dengan test case (5 haikus):

[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

Baca sebagai haiku:

#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
Ben Reich
sumber
8

Keempat

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

Fugu adalah fungsinya dan upayaku pada kigo : blowfish adalah referensi musim dingin. Saya berniat ?domenjadi kireji , titik balik, sebelum loop yang dihitung.

Darren Stone
sumber
7

PHP, 4 haikus

Haikus sajak lengkap !

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)
Vereos
sumber
1
Saya membaca baris tiga return plus plus stun.
corsiKa
Saya sangat suka yang ini.
BenjiWiebe
7

Ruang putih

Ini memanfaatkan salah satu haiku paling terkenal , dan banyak yang telah ditulis tentangnya.

Tidak tahu mengapa tidak ada yang pernah melakukan ini sebelumnya, bahkan tidak perlu usaha apa pun!

Pertama-tama, sebelum membaca puisi itu, saya ingin Anda bersandar, bersantai, dan menikmati ketenangan yang diciptakan oleh kehampaan besar di sekitar puisi itu. Ini menekankan kolam, dikelilingi oleh pemandangan yang luas.

古 池 や    
蛙 飛 び こ む               
水 の 音             






































































































































kode sumber pada filebin

Jika Anda tidak berbicara bahasa Jepang, ini diucapkan sebagai berikut:

fu ru i ke ya

ka wa zu ke bi ko mu

mi zu no o to

Secara alami, ini dihitung oleh morae. The kireji adalahや( ya ) , yang Kigo (referensi musiman) adalah蛙( Kawazu , katak, -> musim semi) .

Menggunakan penerjemah linux dari halaman resmi, Anda dapat menggunakannya seperti ini:

$ echo 5 | ./wspace .ws

blutorange
sumber
6

Mathematica

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

Pedant mungkin membaca baris terakhir sebagai "f of 1 is 1", tapi aku tidak bisa menahan teriakan untuk Basho.

Pengujian:

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

Kembali:

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

log plot nilai

Bonus Linguistic Distinctiveness Haiku (terinspirasi oleh @cormullion)

Rewrite any term
High-level functions abound —
Mathematica
Jonathan Van Matre
sumber
5

Batch

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

Pelafalan ; mengabaikan ekspresi matematika serta simbol-simbol ini @ / % ^ , ( ):

atur 1 dan
untuk L a di 2 1 1
lakukan ata

Catatan; ini menghitung faktorial, tidak menghasilkannya - variabel tberisi faktorial.

Haiku / kode berikut dapat ditambahkan ke file batch yang sama untuk menampilkan faktorial ( |diucapkan sebagai pipa):

@echo %t% ||^
When will you learn, unclemeat ^
Why must you use Batch?
hapus clemeat
sumber
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
Beyamor
sumber
5

F #

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

biarkan fakta n
dari satu hingga n, menerapkan
bintang satu kali lipat

pswg
sumber
mencuri milikku ...;)
Jwosty
5

LISP baru

Tanda kurung tidak diucapkan:

(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

Kode Lisp terdiri dari

banyak tanda kurung

dan beberapa fungsi

cormullion
sumber
Suka komentar haiku. Mengambilnya sebagai inspirasi dan menambahkan satu ke jawaban saya.
Jonathan Van Matre
5

Perl

$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

Buang ini ke dalam file bernama f.pl

Dan hasilnya:

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

Dibaca sebagai:

perl fpl tiga
perl fpl satu kurang satu
perl fpl sepuluh

sumber
1
Bagaimana Anda mengucapkan pengujian dalam 7-5-7?
Christopher Creutzig
@ChristopherCreutzig Saya bisa mendapatkan 5 dan 6 di sana dengan baik untuk pengujian ('perl fpl three' (5) dan 'perl fpl ze-ro' (6)) ... Saya tidak dapat menemukan 7 yang bersih yang menunjukkan tes yang diperlukan.
@ChristopherCreutzig Menemukan trik untuk itu. Terima kasih telah mengingatkan saya tentang persyaratan itu. (Meskipun, agar adil, 1-1 tidak benar-benar menguji '0', hanya memberikan hasil yang sama - itu bekerja untuk nol juga)
5

LiveScript

Abad Pertengahan yang satu ini:

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

Cetakan 3628800, yaitu 10!. Ini sedikit bundaran: Fungsi storymengembalikan fungsi ones-misery, yang selalu mengembalikan jawabannya. Itu artsier seperti itu.

Tidak ada komentar pengisi atau string yang tidak perlu!


Cerita debugging bonus:

Saya tertawa terbahak-bahak
ketika diberi tahu bahwa bug itu
" deathadalah undefined"

Anko
sumber
3
Haha, Anda tidak akan menabrak bug itu jika Anda memiliki "kematian =! Bangga". poetryfoundation.org/poem/173363
Jonathan Van Matre
5

Haskell

Yang ini akan menjadi haiku berima !

fakta 0 = 1 --fakta nol adalah satu
fact ton = ton * (fact stun) - fact ton adalah ton kali stun fakta
        di mana setrum = pred ton - Dimana setrum adalah pred ton

Ya!

Catatan: Pred berarti nomor sebelumnya. Juga di haskell, Anda dapat memiliki beberapa definisi fungsi, dan yang pertama yang masuk akal digunakan.

PyRulez
sumber
Anggun! (pengisi)
kucing
4

Ruby - One Haiku

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

Baca (abaikan tanda baca, tetapi sertakan satu emotikon) seperti ini:

 arg vee first to i
   tap do please puts one up to
 please inject smile end
Neil Slater
sumber
Tidak menghasilkan output untuk 0 !.
200_sukses
@ 200_sukses: Terima kasih. Saya mungkin harus hidup dengan itu, itu tidak sepenuhnya dalam persyaratan, jadi saya akan berpikir
Neil Slater
Juga tes ini dimaksudkan untuk menjadi haiku. Saya merindukan itu pada pertama saya membaca sendiri.
Jonathan Van Matre
@ Jonathan Van Matre: Ya, saya juga melewatkannya. Tampaknya jawaban atas tidak peduli dengan ini. Karena saya berada di baris perintah, sulit untuk mendapatkan multi-baris, saya kira saya harus menghapus tes untuk sekarang untuk membuatnya menjadi jawaban yang kanonik. . .
Neil Slater
4

Di SML:

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

dibaca sebagai:

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

Perl

Saya tahu itu melanggar aturan untuk menggunakan fungsi yang sudah jadi, tapi inilah yang saya dapatkan.

Bayangkan tugas Anda adalah menginstruksikan tikus yang terlalu besar:

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

Saya hanya bisa menebak apa arti kata terakhir dan bagaimana kata itu diucapkan, tetapi saya jamin itu adalah satu suku kata. Tampaknya dia tidak mengerti apa yang Anda inginkan darinya, jadi Anda harus menguraikan (mengurangi standar kualitas saat Anda kehilangan kesabaran):

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

masih tidak berhasil. Maka Anda harus menjelaskannya dalam bahasa Inggris:

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

Apa yang terjadi selanjutnya saya tidak tahu, tetapi kode itu valid:

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

dan

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

dan

perl -nE 'no strict; no warnings; use Math::Combinatorics; say factorial($_)'
16
20922789888000
pengguna2846289
sumber
3
"Saya yakinkan Anda itu satu suku kata" :)
cormullion
1
Sayang sekali Anda tidak bisa melemparkan kesalahan Coy di sana.
Sejauh ini, inilah satu-satunya jawaban yang memiliki kualitas lirik :)
SebastianH
1
@SebastianH, terima kasih :), meskipun saya curang sementara yang lain mencoba bermain sesuai aturan
user2846289
2

Python

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

Cara saya membacanya:

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

`

200_sukses
sumber
Menghasilkan output buggy untuk 0 !.
200_sukses
2

C

#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*/}

Ucapan pengucapan:

Pound termasuk standar
I / O dot h Pound termasuk
standar lib dot h

int main int arg c
koma char star bintang arg v
open brace comment

iteratif
menghitung faktorial sini
int panjang n equals

nol koma i
sama dengan nol koma r
sama dengan satu komentar

produk dimulai pada satu
titik koma jika arg c
lebih besar dari satu

open brace n adalah
str-to-l dari arg v sub
one koma NULL koma ten

titik koma jika
n kurang dari nol mulai
printf arg harus

lebih besar atau
sama dengan nol backslash
n titik koma

keluar negatif
satu titik koma ujung penjepit
ujung penjepit i sama dengan

n titik koma
sementara saya membuka penjepit r
sama dengan r kali saya

titik koma saya
mengurangi titik koma
tutup komentar cetak

hasil printf
persen d faktorial
sama dengan persen d

whack n koma dan
koma r koma koma
dilakukan end brace

Bryan
sumber
The #karakter biasanya diucapkan tajam atau octothorpe dalam kode C.
FUZxxl
1

C # - 3 haikus

Saya menghapus C # menggunakan biasa, namespace dan kekacauan definisi kelas, yang akan menjadi haiku ke-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));}

yang saya baca

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
Pierre-Luc Pineault
sumber
1

Haskell

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

perhatikan bahwa modul .. di mana ditambahkan secara otomatis ke kode Haskell apa pun tanpa di kompilasi, jadi tidak menulis itu praktis curang.

pengguna16635
sumber
Sampai hari ini saya tidak tahu Anda bisa memasukkan satu pernyataan di bawah dodan itu tidak harus Monad a => a.
Onyxite
1

JAWA:

Menanggapi pertanyaan dan untuk Dwaiku (Double-Haiku atau apa pun Anda ingin menyebutnya) diposting oleh Quincunx di Jawa, inilah Haiku yang benar:

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

Javascript - Dua Haikus

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 

Saya bukan penutur asli. Jadi, saya menggunakan kamus untuk menghitung suku kata. Semoga cukup baik. Setiap umpan balik diterima :)

Gaurang Tandon
sumber
1

Powershell, 2 Haikus

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
Berasal
sumber
1

Apakah kami diizinkan menggunakan pengisi?

Python 2 haikus:

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

nuum = len([1])
for i in range(1, number):
    nuum *= i
Maltysen
sumber
nuum equals length one?
Pierre Arlaud
panjang daftar
Maltysen
Saya meminta pengucapan Anda dari baris pertama. num equals length of the listmembuat 7 silabus alih-alih 5.
Pierre Arlaud
1
Anda dapat menggantinya nuumdengan foo(karena saya membaca sebagai nu-um, yang membuat Anda melebihi batas.)
ASCIIThenANSI