피보나치 기능 또는 순서


115

피보나치 시퀀스는 시퀀스의 모든 번호가 앞의 두 수의 합 번호의 서열이다. 시퀀스의 처음 두 숫자는 모두 1입니다.

처음 몇 가지 용어는 다음과 같습니다.

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

다음 중 가장 짧은 코드를 작성하십시오.

  • 끝없이 피보나치 시퀀스를 생성합니다.

  • 주어진 시퀀스의 항을 n계산합니다 n. (1 또는 0 색인화 됨)

표준 입력 및 출력 형식을 사용할 수 있습니다.

(하나는 다른 언어보다 선택한 언어로 수행하기 쉬운 경우를 대비하여 두 가지 옵션을 모두 제공했습니다.)


를 사용하는 함수의 n경우 합리적으로 큰 반환 값 (최소한 컴퓨터의 일반 단어 크기에 맞는 가장 큰 피보나치 수)이 지원되어야합니다.


리더 보드

답변:


48

펄 6, 10 자 :

익명의 무한 피보나치 시퀀스 목록 :

^2,*+*...*

다음과 같습니다 :

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

따라서 배열에 할당 할 수 있습니다.

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

또는

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

그리고 다음을 사용하여 첫 번째 11 값 (0에서 10까지)을 얻으십시오.

say @short-fibs[^11];

또는 함께 :

say @fibs[^11];

잠깐, 익명 목록 자체에서 처음 50 개의 숫자를 얻을 수도 있습니다.

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

그 결과는 다음과 같습니다.

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

그리고 간단한 벤치 마크 :

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

와:

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

EOF


나는의 ^2대체물로 생각조차하지 않을 것입니다 0,1. +1
콘라드 보로프스키

2
이것은 더 이상 유효하지 않습니다 |^2,*+*...*.와 동일한 바이트 수인 로 작성해야합니다 0,1,*+*...*.
브래드 길버트 b2gills

5
펄은 너무 이상하다.
Cyoce

1
이 답변은 어떤 버전의 Perl 6로 작성 되었습니까?
계산기

3
@CalculatorFeline 2015-12-25의 첫 공식 출시 직전에 GLR (Great List Refactor)이라는 큰 변화가있었습니다. 이 코드는 그때까지 제대로 작동했을 것입니다.
브래드 길버트 b2gills

73

Brainfuck, 22 스트로크

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

메모리 테이프에서 점차적으로 피보나치 시퀀스를 생성합니다.


5
아름다운! 말 그대로 아름다운! 아니면 아마도 ... 어쨌든 +1 :)
Per Hornshøj-Schierbeck

2
이것은 압축 된 brainfuck에서 3.344 또는 4 바이트입니다. (6 ln (22)) / ln (256)
Will Sherwood

24
16 바이트 :+[[<+>->+>+<<]>]
primo

3
14 바이트 :+[.[>+>+<<-]>]
Charlim

2
@Stefnotch는 물론 짧을수록 파괴적입니다. 위의 솔루션은 테이프의 피보나치 시퀀스로 끝납니다. 16 바이트 솔루션도 마찬가지입니다.
primo


37

C # 4, 58 바이트

스트림 (69; 약한 유형으로 입력 한 경우 65 IEnumerable)

(에 대한 using지시문을 가정합니다 System.Collections.Generic.)

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

단일 값 (58)

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

6
주어진 nA는 uint, n==0에 단축 할 수있다 n<1. 그리고 스트림은 일반 유형 다음에 공백을 버리고 x필요한 것보다 넓은 범위에서 선언하여 몇 가지 문자를 절약 할 수 있습니다 . 실제로, x완전히 도랑을 파십시오 :n+=c;c=n-c;
Peter Taylor

1
@ 피터 : 고마워, 시간이되면 편집합니다.
Jon Skeet

귀하의 단일 값 버전은 내 재귀 람다식이 대답하는 한 ... 좋습니다!
Andrew Gray

1
내가 실수하지 않으면 @ wizzwizz4, !n작동 n하면 조건부를 뒤집어 놓아야 합니다.
Cyoce

3
@JonSkeet Aw. 그리고 여기 C #에서 Jon Skeet을
이길

32

골프 스크립트, 12

이제 12 자만!

1.{.@.p+.}do

좋은 일 +1. 13 자 미만으로 줄이면 답변을 즉시 수락합니다 (물론 더 짧은 답변을하지 않는 한). :-P
Chris Jester-Young

1
나는 도전을 좋아한다. 끝난! ;-)
jtjacques

좋아, 이겼어 적어도 누군가가 더 짧은 것을 만들 때까지 (가능한 경우). :-P
Chris Jester-Young

5
그 정의는 '피보나치'라는 이름만큼이나 짧습니다! +1
에이전트 -j

23

> <> -15 자

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

0:nao1v LF a+@:n:<o원한다면 짧아 질 수 있습니다 . 15 :) 사실, 이것은 또한 출력을 약간 더 읽기 쉽게 만듭니다 ...
tomsmeding

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

21

J, 10 자

테일러 시리즈 계수의 내장 계산을 사용하면 약간의 시끄러운 것입니다. 여기서 배웠습니다 .

   (%-.-*:)t.

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

2
@aditsu (q:^-^:p) 664 729p가 짝수 인 곳입니다. J는 대한 아마 좋은 것이 무엇 수수께끼를. :)
randomra

2
더 나은 : (<:^-^:>) 4is 81and <:^-^:> 4is 53.5982입니다.
randomra

2
여기서 보여지는 그림 이모티콘은 모든 J 코드가 ​​지향해야하는 것입니다. 참고로, 다른 대안은 +/@:!&i.-9 바이트를 사용하는 것입니다.
마일

1
@ 마일 아주 좋은! 내 것과는 완전히 다르므로 게시해야합니다.
randomra

21

헥사 고니 ,18 14 12

6 바이트 감사합니다.

1="/}.!+/M8;

넓히는:

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

온라인으로 사용해보십시오


옛날 대답. 이미지와 설명이 새로운 Hexagony 사용자에게 도움이 될 수 있기 때문에 이것은 남아 있습니다.

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

넓히는:

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

그러면 줄 바꿈으로 구분 된 피보나치 시퀀스가 ​​인쇄됩니다.

온라인으로 사용해보십시오! 온라인 인터프리터는 실제로 무한 출력을 좋아하지 않습니다.

설명

이 프로그램에는 두 개의 "서브 루틴"이 있으며 각각은 사용 된 두 IP 중 하나에 의해 실행됩니다. 첫 번째 루틴은 개행을 인쇄하고 두 번째 루틴은 피보나치 계산 및 출력을 수행합니다.

첫 번째 서브 루틴은 첫 번째 줄에서 시작하여 전체 시간에서 왼쪽에서 오른쪽으로 이동합니다. 먼저 메모리 포인터에 값을 인쇄하고 (0으로 초기화 됨) 메모리 포인터의 값을 씩 증가시킵니다 1. no-op 후 IP는 세 번째 줄로 이동하여 먼저 다른 메모리 셀로 전환 한 다음 줄 바꿈을 인쇄합니다. 개행은 양수 값 (값은 10)이므로 코드는 항상 다음 다섯 번째 행으로 이동합니다. 다섯 번째 줄은 메모리 포인터를 Fibonacci 번호로 반환 한 다음 다른 서브 루틴으로 전환합니다. 이 서브 루틴에서 돌아 오면 no-op를 실행 한 후 IP가 세 번째 줄로 되돌아갑니다.

두 번째 서브 루틴은 오른쪽 상단에서 시작하여 남동쪽으로 이동하기 시작합니다. no-op 후, 우리는 두 번째 줄을 따라 서쪽으로 튀어 오릅니다. 이 줄은 메모리 포인터를 다음 위치로 이동하기 전에 현재 피보나치 수를 인쇄합니다. 그런 다음 IP는 네 번째 줄로 이동하여 이전 두 줄을 사용하여 다음 피보나치 수를 계산합니다. 그런 다음 첫 번째 서브 루틴으로 제어권을 다시 제공하지만 프로그램 제어권을 다시 확보 할 때 점프를 만날 때까지 계속 진행합니다. 여기서 두 번째 줄로 돌아갈 때 원래 서쪽을 가리킬 때 사용되었던 미러 위로 튕 깁니다.


예비 예쁜 사진!

이미지의 왼쪽은 프로그램이고 오른쪽은 메모리를 나타냅니다. 파란색 상자는 첫 번째 IP이며 두 IP 모두 다음에 실행될 명령을 가리키고 있습니다.

enter image description here

참고 : 이미지 편집 프로그램에 대해 비슷한 기술을 가진 사람들에게만 사진이 예쁘게 보일 수 있습니다 *.

참고 2 : 이 대부분을 작성한 후 alephalpha의 대답 만 보았습니다 . 분리로 인해 여전히 가치가 있다고 생각했지만 실제 프로그램의 피보나치 부분은 매우 유사합니다. 또한 이것은 하나 이상의 IP를 사용하는 것으로 보았던 가장 작은 Hexagony 프로그램이므로 어쨌든 유지하는 것이 좋을 것이라고 생각했습니다.


예쁜 그림을 만드는 데 사용한 모든 것에 연결 한 다음 esolangs.org/wiki/Hexagony에 연결 하십시오 .
mbomb007

1
@ mbomb007 김프를 사용하여 각 프레임을 수동으로 만든 다음 이미지를 일부 GIF 제작 웹 사이트에 업로드했습니다. 그러나이 과정에서 여러 번 지루한 작업을 고려하여 도구를 만드는 것을 고려했습니다.
FryAmTheEggman

트윗 담아 가기 도전하십시오. 누군가가 답변을 게시 할 것이라고 확신합니다. : D 피쉬의 온라인 통역사와 유사한 웹 사이트를 만들 수 있다면 더욱 좋습니다.
mbomb007

@ mbomb007이 사이트의 도전에 대한 야심 찬 일일지도 모릅니다. 나는 그것을 게시 할 것이라고 생각하지 않지만, 당신이 그것을 제시하는 좋은 방법이 있다고 생각하면 자유롭게 그것을 직접하십시오. 또한 Timwi가 육각형에 대한 C # ide를 만들었지 만 모노로 귀찮게하지 않았기 때문에 결코 사용하지 않았습니다.
FryAmTheEggman

1
@ IDE는 살고 mbomb007 여기에 , 그런데, 마지막으로 그것을 연결하는 것을 잊었다.
FryAmTheEggman

18

코우 , 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

파이썬 2, 34 바이트

파이썬, 재귀를 사용하여 ... 여기에 StackOverflow가옵니다!

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

15

젤리 , 3 바이트

+¡1

온라인으로 사용해보십시오!

작동 원리

+¡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.

¡ 왼쪽의 두 링크를 살짝 봅니다. 하나만 있기 때문에 루프의 몸체 여야합니다. 따라서 입력에서 숫자를 읽습니다. 명령 행 인수가 없으므로 해당 숫자는 STDIN에서 읽습니다.


12

골프 스크립트-단일 번호-12/11/10

stdin에서 입력을받는 12 자 :

~0 1@{.@+}*;

스택에 이미 입력 된 11 개의 문자 :

0 1@{.@+}*;

1을 0 번째 피보나치 수로 더 정의하기위한 10 개의 문자 :

1.@{.@+}*;

1
옵션은 "n의 n 번째 피보나치 수를 계산합니다"입니다. 그래서 도랑을 버리면 스택을 ~차지하고 n스택에 남겨 두는 11 문자가 있습니다 F_n.
Peter Taylor

12

루비

29 27 25 24 문자

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

편집 : 무한 루프로 만들었습니다. ;)


13
누구도 b=a+a=b회문이라는 것을 알고 있습니까? :)
st0le

2
yes st0le did :)
gnibbler

나는 파티에 늦었다는 것을 알고 있지만 다른 사람이 어떻게 b=a+a=b작동 하는지 설명 할 수 있습니까? 내 머리를 감싸지 못하는 것 같습니다.
Mr. Llama 2012

3
@GigaWatt, 이런 식으로 생각하면, 명령은 왼쪽에서 오른쪽으로 실행됩니다 ... sonewb=olda+(a=oldb)
st0le

당신은 사용하여 두 문자를 저장할 수 있습니다 loop:p 1,a=b=1;loop{p b=a+a=b}
패트릭 Oscity

11

매스 매 티카, 9 자리

Fibonacci

내장 함수가 허용되지 않으면 다음과 같은 명시 적 솔루션이 있습니다.

매스 매 티카, 33 32 31 자

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

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

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

1
@ Mr.Wizard 24 자 (26 바이트) :Round[GoldenRatio^#/√5]&
JungHwan Min

1
또는 23 자 (27 바이트) :Round[((1+√5)/2)^#/√5]&
JungHwan Min

10

DC (20 바이트)

보너스로, 그것은 난독 화됩니다.)

zzr[dsb+lbrplax]dsax

편집 : 나는 당신이 충분히 오래 기다리면 피보나치 수열의 모든 숫자를 인쇄한다고 지적 할 수 있습니다 .


13
나는 그것을 난독 화라고 부르지 않을 것입니다-난독 화 된 코드는 이해하기 어렵고 dc가가는 한 여기의 코드는 완전히 간단합니다.
Nabb

10

Prelude , 12 바이트

Prelude가 실제로 경쟁이 치열한 몇 가지 과제 중 하나 :

1(v!v)
  ^+^

이를 위해서는 문자 대신 10 진수로 값을 인쇄 하는 Python 인터프리터 가 필요 합니다 .

설명

Prelude에서 모든 행은 명령 포인터가 프로그램의 열을 통과하면서 병렬로 실행됩니다. 각 라인에는 0으로 초기화되는 자체 스택이 있습니다.

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.

첫 번째 스택에는 0맨 위 가 없으므로 루프는 영원히 반복됩니다 .

이렇게하면에서 피보나치 시퀀스가 ​​시작됩니다 0.


10

헥사 고니 , 6 바이트

언어가 질문보다 새로운 언어이기 때문에 비경쟁.

1.}=+!

언 골프 드 :

  1 .
 } = +
  ! .

구분 기호없이 피보나치 수열을 인쇄합니다.


2
이것은 숫자 사이의 구분 기호를 인쇄하지 않는 사소한 문제가 있습니다. 이것은 도전에 완전히 명시되어 있지 않습니다. (그리고 나는 누군가가 Hexagony을 사용하고 정말 행복 해요 :).)
마틴 청산

9

TI-BASIC, 11

전설적인 TI-BASIC 골퍼 케네스 해먼드 ( "Weregoose") 가이 사이트에서 . O (1) 시간에 실행되고 0을 피보나치 시퀀스의 0 번째 항으로 간주합니다.

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

사용:

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

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

어떻게 작동합니까? 수학을 수행하면 수학 식과 sinh‾¹(.5)같으 ln φ므로 (1/φ)^n수정 항 을 사용하는 대신 반올림하는 수정 된 버전의 Binet 공식입니다 . round((9 소수점 이하 자릿수로 라운드) 반올림 오류를 방지하기 위해 필요합니다.


8

K-12

계산 nn-1피보나치 수를.

{x(|+\)/0 1}

그냥 nth피보나치 번호.

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

+1 나쁘지 않다! 한 문자 만 축소하고 테스트 방법을 제공 할 수 있다면 답을 받아들입니다. :-)
Chris Jester-Young

축소하는 유일한 방법은 함수를 알려진 번호에 대한 호출로 바꾸는 것입니다. n (| + \) / 0 1 이 인터프리터를 사용하여 테스트하십시오 .
isawdrones


7

자바, 55

나는 대부분의 언어의 간결함과 경쟁 할 수 없지만 n 번째 숫자를 계산하는 상당히 다르고 (일정한 시간) 방법을 제공 할 수 있습니다.

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

nn = 1로 시작하는 입력 (int 또는 long)입니다. 그것은 Binet의 공식을 사용합니다 대신 뺄셈의 반올림합니다.


나는이 솔루션을 좋아한다
Andreas

이것은 나를 위해 작동하지 않는 것 같습니다,하지만 그것은 일찍이며 뭔가 빠졌을 수 있습니다! 0시퀀스의 첫 번째 숫자 라고 가정하면 0, 0, 1, 1, 3, 4, 8, 12, 21, 33, 처음 10 개의 숫자를 제공 합니다
Shaggy

@Shaggy Oops! 죄송합니다. 버그가 수정되었습니다.
Hans-Peter Störr 2016 년

6

루비, 25 자

st0le의 답변이 단축되었습니다.

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

6
실제로 다음을 사용하여 더 단축 할 수 있습니다a=b=1;loop{p a;b=a+a=b}
Ventero

6
그래서 당신은 그의 대답을 st0le? : P
mbomb007

6

FAC : 기능 APL, 4 자 (!!)

내 커뮤니티가 아니므로 커뮤니티 위키로 게시되었습니다. FAC는 Hai-Chen Tu가 1985 년에 박사 학위 논문으로 제안한 APL의 방언입니다. 그는 나중에 Alan J. Perlis와 함께 " FAC : Afunctional APL Language " 라는 기사를 썼습니다 . 이 APL의 방언은 "게으른 배열"을 사용하며 무한 길이의 배열을 허용합니다. 연산자 "iter"(일부 재귀 시퀀스를 간단하게 정의 할 수 있도록 )를 정의합니다.

monadic ( "unary")의 경우 는 기본적으로 Haskell 's iterate이며로 정의됩니다 (F⌼) A ≡ A, (F A), (F (F A)), …. 이진 ( "이진") 사례는 두 변수에 대해 다소 유사하게 정의됩니다 A (F⌼) B ≡ A, B, (A F B), (B F (A F B)), …. 이것이 왜 유용한가요? 음, 이것이 피보나치 수열의 정확한 재발입니다. 실제로, 주어진 예 중 하나는

1+⌼1

익숙한 시퀀스 생성 1 1 2 3 5 8 … .

따라서 여러분은 참신한 프로그래밍 언어로 가능한 가장 짧은 피보나치 구현을 할 것입니다. :디


아, 실수로 내 (수동) 대량 언 위키 작업의 일부로 귀하의 게시물을 커뮤니티에서 분리했습니다. 오 잘 ;-)
Chris Jester-Young

6

R, 40 바이트

R 솔루션을 보지 못 했으므로 다음을 수행하십시오.

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

1
나는이 오래된 답을 알고,하지만 당신은을 단축 할 수 38 바이트
로버트 S.


6

Dodos , 26 바이트

	dot F
F
	F dip
	F dip dip

온라인으로 사용해보십시오!

작동 원리

함수 F 는 모든 무거운 리프팅을 수행합니다. 다음과 같이 재귀 적으로 정의됩니다.

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

n> 1 일 때마다 | n-1 | = n-1 <n|| n-1 | -1 | = | n-1-1 | = n-2 <n 이므로 함수는 (F (n-1), F (n-2))을 반환합니다 .

만약 N = 0 , 다음 | N - 1 | = 1> 0 ; 만약 N = 1 , 그 다음 || N - 1 | -1 | = | 0-1 | = 1 = 1 입니다. 두 경우 모두 재귀 호출 F (1) 에서 Surrender 예외가 발생하므로 F (0)0을 반환 하고 F (1)1을 반환합니다. .

예를 들어, F (3) = (F (1), F (2)) = (1, F (0), F (1)) = (1, 0, 1) 입니다.

마지막으로 주요 기능은 다음과 같이 정의됩니다.

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

F에 의해 반환 된 벡터의 모든 좌표를 더합니다 .

예를 들어 main (3) = sum (F (3)) = sum (1, 0, 1) = 2 입니다.



5

데스 모스 , 61 바이트

골프

add slider버튼을 클릭하십시오 n.

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

마지막 줄이 출력입니다.

언 골프

기능입니다.

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

5

Cubix , 10 바이트

언어가 질문보다 새로운 것이기 때문에 비경쟁 답변입니다.

Cubix는 @ETHproductions의 새로운 2 차원 언어입니다. 코드는 큐브에 맞게 크기가 조정되었습니다.

;.o.ON/+!)

온라인으로 사용해보십시오

이것은 다음과 같은 방식으로 2 x 2 큐브에 래핑됩니다.

    ; .
    o .
O N / + ! ) . .
. . . . . . . .
    . .
    . .
  • O TOS의 값을 출력
  • N 줄 바꿈을 스택에 넣다
  • / 북쪽을 반영
  • o TOS의 특성을 출력
  • ; 팝 TOS
  • / 입방체를 돌고 동쪽을 반영
  • + 스택의 상위 2 개 값 추가
  • ! TOS가 0 인 경우 다음 명령 건너 뛰기
  • ) TOS를 1 씩 증가시킵니다. 이것은 시퀀스를 본질적으로 시작합니다.

이것은 줄 바꿈 문자로 시퀀스를 인쇄하는 무한 루프입니다. 대부분의 명령이 스택에서 값을 팝하지 않는다는 사실을 이용합니다.
구분 기호를 무시하면 5 바이트로 수행 할 수 있습니다..O+!)


5

Brainfuck, 16,15, 14/13 자

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

피보나치 수열을 생성하고 아무것도 인쇄하지 않습니다. 또한 위의 것보다 짧습니다.

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

이 문자는 14 자이지만 피보나치 시퀀스 값으로 ASCII 문자를 인쇄합니다.


1
이것은 좋지만 14 바이트 버전은 두 번째 1에서만 출력한다고 말하는 것이 잘못 되었습니까? "1 1 2 3 5 8"대신 "1 2 3 5 8"과 같이?
Charlim

1
@Charlim 아, 맞아요. 나는 2014 년의 나를 어떻게 생각했는지 전혀 모른다. 어쨌든, 나는 인쇄 명령을 루프의 앞쪽으로 움직여서 고쳤습니다.
Stefnotch
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.