Fungsi atau urutan Fibonacci


115

The deret Fibonacci adalah urutan angka, di mana setiap nomor dalam urutan adalah jumlah dari dua angka sebelumnya itu. Dua angka pertama dalam urutan keduanya adalah 1.

Inilah beberapa istilah pertama

1 1 2 3 5 8 13 21 34 55 89 ...

Tulis kode terpendek yang baik:

  • Menghasilkan urutan Fibonacci tanpa akhir.

  • Diberi nmenghitung njangka waktu urutan. (Baik 1 atau nol diindeks)

Anda dapat menggunakan bentuk input dan output standar.

(Saya memberikan kedua opsi jika salah satu lebih mudah dilakukan dalam bahasa yang Anda pilih daripada yang lain.)


Untuk fungsi yang membutuhkan n, nilai pengembalian yang cukup besar (angka Fibonacci terbesar yang sesuai dengan ukuran kata normal komputer Anda, minimal) harus didukung.


Papan peringkat

Jawaban:


48

Perl 6, 10 karakter:

Daftar urutan fibonacci tak terbatas anonim:

^2,*+*...*

Sama dengan:

0, 1, -> $x, $y { $x + $y } ... Inf;

Jadi, Anda bisa menetapkannya ke array:

my @short-fibs = ^2, * + * ... *;

atau

my @fibs = 0, 1, -> $x, $y { $x + $y } ... Inf;

Dan dapatkan sebelas nilai pertama (dari 0 hingga 10) dengan:

say @short-fibs[^11];

atau dengan:

say @fibs[^11];

Tunggu, Anda bisa mendapatkan juga 50 nomor pertama dari daftar anonim itu sendiri:

say (^2,*+*...*)[^50]

Itu kembali:

0 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597 2584 4181 6765
10946 17711 28657 46368 75025 121393 196418 317811 514229 832040
1346269 2178309 3524578 5702887 9227465 14930352 24157817 39088169
63245986 102334155 165580141 267914296 433494437 701408733 1134903170 
1836311903 2971215073 4807526976 7778742049

Dan beberapa tolok ukur sederhana:

real    0m0.966s
user    0m0.842s
sys     0m0.080s

Dengan:

$ time perl6 -e 'say (^2, *+* ... *)[^50]'

EOF


Saya bahkan tidak akan berpikir ^2sebagai pengganti 0,1. +1
Konrad Borowski

2
Ini tidak lagi valid, Anda harus menuliskannya |^2,*+*...*, yang merupakan jumlah byte yang sama dengan 0,1,*+*...*.
Brad Gilbert b2gills

5
Perl sangat aneh.
Cyoce

1
Versi Perl 6 yang mana jawaban ini ditulis?
CalculatorFeline

3
@CalculatorFeline Ada perubahan besar yang dikenal sebagai GLR (Great List Refactor) yang terjadi sesaat sebelum rilis resmi pertama yaitu pada 2015-12-25. Kode ini akan berfungsi hingga saat itu.
Brad Gilbert b2gills

73

Brainfuck, 22 pukulan

+>++[-<<[->+>+<<]>>>+]

Menghasilkan urutan Fibonacci secara bertahap bergerak melintasi pita memori.


5
Cantik! Sangat indah! Atau mungkin tidak ... lagian +1 untuk ini :)
Per Hornshøj-Schierbeck

2
Ini adalah 3,344 atau 4 byte dalam brainfuck terkompresi. (6 ln (22)) / ln (256)
Will Sherwood

24
16 bytes:+[[<+>->+>+<<]>]
primo

3
14 byte:+[.[>+>+<<-]>]
Charlim

2
@Stefnotch tentu saja, yang lebih pendek bersifat destruktif. Solusi di atas diakhiri dengan urutan Fibonacci pada kaset, yang juga merupakan solusi 16 byte.
Primo


37

C # 4, 58 byte

Streaming (69; 65 jika diketik dengan lemah IEnumerable)

(Dengan asumsi usingarahan untuk System.Collections.Generic.)

IEnumerable<int>F(){int c=0,n=1;for(;;){yield return c;n+=c;c=n-c;}}

Nilai tunggal (58)

int F(uint n,int x=0,int y=1){return n<1?x:F(n-1,y,x+y);}

6
Mengingat itu nadalah uint, n==0dapat disingkat menjadi n<1. Dan stream dapat menghemat beberapa karakter dengan membuang ruang setelah tipe generik dan mendeklarasikan xdalam cakupan yang lebih luas dari yang diperlukan. Bahkan, parit xseluruhnya:n+=c;c=n-c;
Peter Taylor

1
@ Peter: Terima kasih, akan mengedit ketika saya punya waktu.
Jon Skeet

Versi nilai tunggal Anda selama jawaban ekspresi lambda rekursif saya ... bagus!
Andrew Gray

1
@ wizzwizz4 jika saya tidak salah, jika !nbekerja, maka seharusnya hanya njika Anda membalik kondisional.
Cyoce

3
@JonSkeet Aw. Dan di sini saya berpikir saya akan mengalahkan Jon Skeet di C # ... :-)
wizzwizz4

32

GolfScript, 12

Sekarang, hanya 12 karakter!

1.{.@.p+.}do

+1 kerja bagus. Jika Anda membuatnya lebih pendek dari 13 karakter, saya akan langsung menerima jawaban Anda (kecuali seseorang membuat jawaban yang lebih pendek, tentu saja). :-P
Chris Jester-Young

1
Saya suka tantangan. Selesai! ;-)
jtjacques

Bagus, kamu menang. Setidaknya, sampai seseorang membuat sesuatu lebih pendek (jika itu mungkin). :-P
Chris Jester-Young

5
definisi itu hampir sesingkat nama 'Fibonacci' itu sendiri! +1
agent-j

23

> <> - 15 karakter

0:nao1v LF a+@:n:<o

Meskipun Anda dapat mempersingkat 0:nao1v LF a+@:n:<ojika Anda mau. Memberikan 15 :) Bahkan, ini juga membuat output sedikit lebih mudah dibaca ...
tomsmeding

5
13 karakter:01r:nao$:@+$r
randomra

21

J, 10 karakter

Menggunakan perhitungan koefisien deret Taylor bawaan jadi mungkin sedikit curang. Belajar di sini .

   (%-.-*:)t.

   (%-.-*:)t. 0 1 2 3 4 5 10 100
0 1 1 2 3 5 55 354224848179261915075

2
@aditsu (q:^-^:p) 6adalah 64 729tempat p berada. J mungkin bagus untuk teka - teki. :)
randomra

2
Bahkan lebih baik: (<:^-^:>) 4adalah 81dan <:^-^:> 4adalah 53.5982.
randomra

2
Emoji yang diperlihatkan di sini adalah tujuan semua kode J. Di samping catatan, alternatif lain +/@:!&i.-menggunakan 9 byte.
mil

1
@miles Sangat bagus! Anda harus mempostingnya karena sama sekali berbeda dari milik saya.
randomra

21

Segi enam ,18 14 12

Terima kasih Martin untuk 6 byte!

1="/}.!+/M8;

Diperluas:

  1 = "
 / } . !
+ / M 8 ;
 . . . .
  . . .

Cobalah online


Tua, jawab. Ini dibiarkan masuk karena gambar dan penjelasannya mungkin bermanfaat bagi pengguna Hexagony baru.

!).={!/"*10;$.[+{]

Diperluas:

  ! ) .
 = { ! /
" * 1 0 ;
 $ . [ +
  { ] .

Ini mencetak urutan Fibonacci yang dipisahkan oleh baris baru.

Cobalah online! Namun berhati-hatilah, penerjemah online tidak terlalu menyukai hasil yang tidak terbatas.

Penjelasan

Ada dua "subrutin" untuk program ini, masing-masing dijalankan oleh salah satu dari dua IP yang digunakan. Rutin pertama mencetak baris baru, dan yang kedua melakukan perhitungan dan output Fibonacci.

Subrutin pertama dimulai pada baris pertama dan bergerak dari kiri ke kanan sepanjang waktu. Pertama mencetak nilai pada penunjuk memori (diinisialisasi ke nol), dan kemudian meningkatkan nilai pada penunjuk memori oleh 1. Setelah no-op, IP melompat ke baris ketiga yang pertama-tama beralih ke sel memori lain, kemudian mencetak baris baru. Karena baris baru memiliki nilai positif (nilainya 10), kode akan selalu melompat ke baris kelima, berikutnya. Baris kelima mengembalikan penunjuk memori ke nomor Fibonacci kami dan kemudian beralih ke subrutin lainnya. Ketika kami kembali dari subrutin ini, IP akan melompat kembali ke baris ketiga, setelah menjalankan no-op.

Subrutin kedua dimulai di sudut kanan atas dan mulai bergerak ke Tenggara. Setelah no-op, kita terpental untuk melakukan perjalanan ke Barat di sepanjang baris kedua. Baris ini mencetak angka Fibonacci saat ini, sebelum memindahkan penunjuk memori ke lokasi berikutnya. Kemudian IP melompat ke baris keempat, di mana ia menghitung angka Fibonacci berikutnya menggunakan dua sebelumnya. Ia kemudian memberikan kontrol kembali ke subrutin pertama, tetapi ketika ia mendapatkan kembali kendali atas program, ia melanjutkan hingga bertemu lompatan, di mana ia memantul di atas cermin yang awalnya digunakan untuk mengarahkannya ke Barat, saat ia kembali ke baris kedua.


Gambar-gambar Cantik Pendahuluan!

Sisi kiri gambar adalah program, sisi kanan mewakili memori. Kotak biru adalah IP pertama, dan kedua IP menunjuk pada instruksi selanjutnya yang akan dieksekusi.

masukkan deskripsi gambar di sini

Catatan: Gambar mungkin hanya tampak cantik bagi orang-orang yang memiliki keterampilan yang sama terbatasnya dengan program pengeditan gambar: PI akan menambahkan setidaknya 2 iterasi lebih banyak sehingga penggunaan *operator menjadi lebih jelas.

Catatan 2: Saya hanya melihat jawaban alephalpha setelah menulis sebagian besar dari ini, saya pikir itu masih berharga karena pemisahan, tetapi bagian Fibonacci sebenarnya dari program kami sangat mirip. Selain itu, ini adalah program Hexagony terkecil yang saya lihat menggunakan lebih dari satu IP, jadi saya pikir mungkin lebih baik untuk tetap menyimpannya: P


Anda harus menautkan ke apa pun yang Anda gunakan untuk membuat gambar-gambar cantik, lalu taruh tautan itu di esolangs.org/wiki/Hexagony .
mbomb007

1
@ mbomb007 Saya menggunakan gimp untuk secara manual membuat setiap frame, lalu mengunggah gambar ke beberapa situs web pembuat gif. Meskipun, beberapa kali selama proses ini saya mempertimbangkan membuat alat untuk melakukannya, mengingat betapa membosankannya itu.
FryAmTheEggman

@FryAmTheEggman Mengesankan! Buat itu menjadi tantangan. Saya yakin seseorang akan memposting jawaban. : D Lebih baik lagi jika Anda bisa membuat situs web yang mirip dengan juru bahasa online ikan.
mbomb007

@ mbomb007 Itu mungkin agak ambisius untuk tantangan di situs ini, belum lagi mungkin akan sangat menderita karena menjadi sangat luas. Saya tidak berpikir saya akan memposting itu, tetapi jangan ragu untuk melakukannya sendiri jika Anda pikir Anda memiliki cara yang baik untuk menyajikannya. Juga, saya percaya Timwi menciptakan ide C # untuk hexagony, meskipun saya belum pernah menggunakannya karena saya belum pernah repot-repot dengan mono.
FryAmTheEggman

1
@ mbomb007 Idenya tinggal di sini , omong-omong, lupa menghubungkannya terakhir kali.
FryAmTheEggman

18

SAPI , 108

 MoO moO MoO mOo MOO OOM MMM moO moO
 MMM mOo mOo moO MMM mOo MMM moO moO
 MOO MOo mOo MoO moO moo mOo mOo moo

17

Python 2, 34 byte

Python, menggunakan rekursi ... inilah StackOverflow!

def f(i,j):print i;f(j,i+j)
f(1,1)

15

Jelly , 3 byte

+¡1

Cobalah online!

Bagaimana itu bekerja

+¡1    Niladic link. No implicit input.
       Since the link doesn't start with a nilad, the argument 0 is used.

  1    Yield 1.
+      Add the left and right argument.
 ¡     For reasons‡, read a number n from STDIN.
       Repeatedly call the dyadic link +, updating the right argument with
       the value of the left one, and the left one with the return value.

¡ mengintip dua tautan ke kiri. Karena hanya ada satu, itu harus menjadi badan loop. Oleh karena itu, angka dibaca dari input. Karena tidak ada argumen baris perintah, angka itu dibaca dari STDIN.


12

Golfscript - nomor tunggal - 12/11/10

12 karakter untuk mengambil input dari stdin:

~0 1@{.@+}*;

11 karakter untuk input sudah ada di tumpukan:

0 1@{.@+}*;

10 karakter untuk mendefinisikan 1 lebih lanjut sebagai angka Fibonacci 0:

1.@{.@+}*;

1
Pilihannya adalah "Menghitung, mengingat n, angka Fibonacci ke-n". Jadi parit ~dan Anda memiliki 11 karakter yang mengambil ntumpukan dan meninggalkan F_ntumpukan.
Peter Taylor

12

Rubi

29 27 25 24 Karakter

p a=b=1;loop{b=a+a=p(b)}

Sunting: menjadikannya loop tak terbatas. ;)


13
Adakah yang tahu b=a+a=bada palindrome? :)
st0le

2
ya st0le lakukan :)
gnibbler

Saya tahu saya terlambat ke pesta, tetapi bisakah seseorang menjelaskan cara b=a+a=bkerjanya? Sepertinya tidak bisa membungkus kepalaku di sekitarnya.
Tn. Llama

3
@ GigaWatt, Pikirkan seperti ini, Instruksi dijalankan dari kiri ke kanan ... jadinewb=olda+(a=oldb)
st0le

Anda dapat menyimpan 2 karakter dengan menggunakan loop:p 1,a=b=1;loop{p b=a+a=b}
Patrick Oscity

11

Mathematica, 9 karakter

Fibonacci

Jika fungsi bawaan tidak diizinkan, berikut ini adalah solusi eksplisit:

Mathematica, 33 32 31 karakter

#&@@Nest[{+##,#}&@@#&,{0,1},#]&

#&@@Nest[{#+#2,#}&@@#&,{0,1},#]&32 karakter.
chyanog

1
@chyanog 31:#&@@Nest[{+##,#}&@@#&,{0,1},#]&
Mr.Wizard

1
@ Mr.Wizard 24 karakter (26 byte):Round[GoldenRatio^#/√5]&
JungHwan Min

1
atau 23 karakter (27 byte):Round[((1+√5)/2)^#/√5]&
JungHwan Min

10

DC (20 byte)

Sebagai bonus, itu bahkan dikaburkan;)

zzr[dsb+lbrplax]dsax

EDIT: Saya dapat menunjukkan bahwa itu mencetak semua angka dalam urutan fibonacci, jika Anda menunggu cukup lama.


13
Saya tidak akan menyebutnya itu dikaburkan - kode dikaburkan seharusnya sulit untuk dipahami, dan sejauh dc pergi kode di sini benar-benar mudah.
Nabb

10

Pendahuluan , 12 byte

Salah satu dari sedikit tantangan di mana Prelude sebenarnya cukup kompetitif:

1(v!v)
  ^+^

Ini membutuhkan juru bahasa Python yang mencetak nilai sebagai angka desimal alih-alih karakter.

Penjelasan

Di Prelude, semua baris dieksekusi secara paralel, dengan penunjuk instruksi melintasi kolom program. Setiap baris memiliki tumpukan sendiri yang diinisialisasi ke nol.

1(v!v)
  ^+^
| Push a 1 onto the first stack.
 | Start a loop from here to the closing ).
  | Copy the top value from the first stack to the second and vice-versa.
   | Print the value on the first stack, add the top two numbers on the second stack.
    | Copy the top value from the first stack to the second and vice-versa.

Pengulangan berulang selamanya, karena tumpukan pertama tidak akan pernah ada 0di atas.

Perhatikan bahwa ini mulai dari urutan Fibonacci 0.


10

Hexagony , 6 byte

Non-bersaing karena bahasa lebih baru daripada pertanyaan.

1.}=+!

Tidak Terkumpul:

  1 .
 } = +
  ! .

Ini mencetak urutan Fibonacci tanpa pemisah apa pun.


2
Ini memiliki masalah kecil yaitu tidak mencetak pemisah antara angka-angka. Ini tidak sepenuhnya ditentukan dalam tantangan. (Dan saya benar-benar senang seseorang menggunakan Hexagony. :))
Martin Ender

9

TI-BASIC, 11

Oleh pegolf TI-BASIC legendaris Kenneth Hammond ("Weregoose"), dari situs ini . Berjalan dalam waktu O (1), dan menganggap 0 sebagai istilah ke-0 dari deret Fibonacci.

int(round(√(.8)cosh(Anssinh‾¹(.5

Menggunakan:

2:int(round(√(.8)cosh(Anssinh‾¹(.5
                                     1

12:int(round(√(.8)cosh(Anssinh‾¹(.5
                                     144

Bagaimana cara kerjanya? Jika Anda menghitungnya, ternyata sinh‾¹(.5)sama dengan ln φ, jadi ini adalah versi modifikasi dari rumus Binet yang membulatkan ke bawah alih-alih menggunakan (1/φ)^nistilah koreksi. The round((bulat untuk 9 tempat desimal) diperlukan untuk mencegah kesalahan pembulatan.


8

K - 12

Menghitung ndan n-1angka Fibonacci.

{x(|+\)/0 1}

Hanya angka nthFibonacci.

{*x(|+\)/0 1}

+1 Tidak buruk! Jika Anda dapat mengecilkannya hanya satu karakter (dan memberi saya cara untuk mengujinya), saya akan menerima jawaban Anda. :-)
Chris Jester-Young

Satu-satunya cara untuk mengecilkannya adalah dengan mengganti fungsi dengan panggilan ke nomor yang diketahui: n (| + \) / 0 1 Uji dengan menggunakan juru bahasa ini .
isawdrones


7

Jawa, 55

Saya tidak dapat bersaing dengan keringkasan sebagian besar bahasa di sini, tetapi saya dapat menawarkan cara yang jauh berbeda dan mungkin jauh lebih cepat (waktu konstan) untuk menghitung angka ke-n:

Math.floor(Math.pow((Math.sqrt(5)+1)/2,n)/Math.sqrt(5))

nadalah input (int atau panjang), dimulai dengan n = 1. Ini menggunakan rumus dan putaran Binet bukan pengurangan.


Saya suka solusi ini
Andreas

Ini sepertinya tidak berhasil untuk saya, tetapi ini masih dini dan saya mungkin kehilangan sesuatu! Diasumsikan 0sebagai angka pertama dalam urutan, ini memberikan 0, 0, 1, 1, 3, 4, 8, 12, 21, 33untuk 10 angka pertama
Shaggy

@Shaggy Ups! Maaf, saya memperkenalkan bug - diperbaiki sekarang.
Hans-Peter Störr

6

Ruby, 25 karakter

Jawaban st0le disingkat.

p 1,a=b=1;loop{p b=a+a=b}

6
Sebenarnya Anda dapat mempersingkat lebih jauh menggunakana=b=1;loop{p a;b=a+a=b}
Ventero

6
Jadi, Anda masih menjawabnya? : P
mbomb007

6

FAC: APL Fungsional, 4 karakter (!!)

Bukan milik saya, karena itu diposting sebagai komunitas wiki. FAC adalah dialek APL yang tampaknya disarankan Hai-Chen Tu sebagai disertasi PhD-nya pada tahun 1985. Dia kemudian menulis sebuah artikel bersama dengan Alan J. Perlis yang disebut " FAC: A Functional APL Language ". Dialek APL ini menggunakan "array malas" dan memungkinkan array dengan panjang tak terbatas. Ini mendefinisikan operator "iter" ( ) untuk memungkinkan definisi ringkas dari beberapa urutan rekursif.

Kasus monadik ("unary") pada dasarnya adalah kasus Haskell iterate, dan didefinisikan sebagai (F⌼) A ≡ A, (F A), (F (F A)), …. The diad ( "binary") kasus didefinisikan agak analog untuk dua variabel: A (F⌼) B ≡ A, B, (A F B), (B F (A F B)), …. Mengapa ini berguna? Nah, ternyata inilah jenis pengulangan yang dimiliki urutan Fibonacci. Bahkan, salah satu contoh yang diberikan adalah

1+⌼1

menghasilkan urutan yang akrab 1 1 2 3 5 8 ….

Jadi, begitulah, sangat mungkin implementasi Fibonacci terpendek dalam bahasa pemrograman yang tidak baru. : D


Oh, secara tidak sengaja saya membatalkan posting Anda di komunitas sebagai bagian dari non-manual saya (manual). Baiklah. ;-)
Chris Jester-Young

6

R, 40 byte

Belum melihat solusi R, jadi:

f=function(n)ifelse(n<3,1,f(n-1)+f(n-2))

1
Saya tahu ini adalah jawaban lama, tetapi Anda dapat mempersingkat menjadi 38 byte
Robert S.


6

Dodos , 26 byte

	dot F
F
	F dip
	F dip dip

Cobalah online!

Bagaimana itu bekerja

Fungsi F melakukan semua pengangkatan berat; itu didefinisikan secara rekursif sebagai berikut.

F(n) = ( F(|n - 1|), F(||n - 1| - 1|) )

Setiap kali n> 1 , kita memiliki | n - 1 | = n - 1 <n dan || n - 1 | - 1 | = | n - 1 - 1 | = n - 2 <n , sehingga fungsinya kembali (F (n - 1), F (n - 2)) .

Jika n = 0 , maka | n - 1 | = 1> 0 ; jika n = 1 , maka || n - 1 | - 1 | = | 0 - 1 | = 1 = 1 . Dalam kedua kasus, upaya panggilan rekursif F (1) meningkatkan pengecualian Menyerah , sehingga F (0) mengembalikan 0 dan F (1) mengembalikan 1 .

Misalnya, F (3) = (F (1), F (2)) = (1, F (0), F (1)) = (1, 0, 1) .

Akhirnya, fungsi utama didefinisikan sebagai

main(n) = sum(F(n))

sehingga hal itu menambah semua koordinat vektor dikembalikan oleh F .

Misalnya, main (3) = jumlah (F (3)) = jumlah (1, 0, 1) = 2 .



5

Desmos , 61 byte

Golf

Klik add slidertombol untuk n.

p=.5+.5\sqrt{5}
n=0
f=5^{-.5}\left(p^n-\left(-p\right)^{-n}\right)

Baris terakhir adalah output.

Tidak disatukan

Apakah fungsi.

\phi =\frac{1+\sqrt{5}}{2}
f_{ibonacci}\left(n\right)=\frac{\phi ^n-\left(-\phi \right)^{-n}}{\sqrt{5}}

5

Cubix , 10 byte

Jawaban tidak bersaing karena bahasa lebih baru daripada pertanyaan.

Cubix adalah bahasa 2 dimensi baru oleh @ ETHproductions adalah kode yang dibungkus ke dalam ukuran kubus agar sesuai.

;.o.ON/+!)

Cobalah online

Ini membungkus 2 x 2 kubus dengan cara berikut

    ; .
    o .
O N / + ! ) . .
. . . . . . . .
    . .
    . .
  • O output nilai dari TOS
  • N dorong baris baru ke tumpukan
  • / mencerminkan utara
  • o Keluarkan karakter dari TOS
  • ; pop TOS
  • / mencerminkan timur setelah berkeliling kubus
  • + tambahkan 2 nilai teratas tumpukan
  • ! lewati perintah berikutnya jika TOS adalah 0
  • ) menambah TOS dengan 1. Ini memulai urutan pada dasarnya.

Ini adalah loop tanpa akhir yang mencetak urutan dengan pemisah baris baru. Itu mengambil keuntungan dari kenyataan bahwa sebagian besar perintah tidak memunculkan nilai dari stack.
Jika separator diabaikan maka ini dapat dilakukan dengan 5 byte.O+!)


5

Brainfuck, 16,15, 14/13 karakter

+[[->+>+<<]>]  

Menghasilkan urutan Fibonacci dan tidak mencetak apa pun. Juga, lebih pendek dari yang di atas.

+[.[->+>+<<]>]   

Yang ini memiliki 14 karakter tetapi mencetak karakter ASCII dengan nilai-nilai deret Fibonacci.


1
Ini bagus, tetapi apakah saya akan salah mengatakan bahwa versi 14 byte hanya keluaran dari tanggal 1 1? Seperti dalam "1 2 3 5 8" bukannya "1 1 2 3 5 8"?
Charlim

1
@ Charlim Oh, kamu benar. Saya tidak tahu apa yang saya pikirkan 2014. Bagaimanapun, saya baru saja memperbaikinya dengan memindahkan instruksi cetak ke bagian depan loop.
Stefnotch
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.