음의 순서로 정수를 출력하고 매번 최대 정수를 증가시킵니다.


44

주요 업무

당신의 임무는 1부터 시작하여 내림차순으로 정수를 인쇄하고 주어진 입력에 도달 할 때까지 1을 다시 계속 치면서 증가시킨 다음 1을 다시 칠 때까지 나머지를 인쇄하는 것입니다. 입력 예 6:

1
21
321
4321
54321
654321
Without newlines (valid output):
121321432154321654321
참고 : 이것은 OEIS에서 A004736 입니다. 또한 첫 번째 예 (줄 바꾸기 포함)는 규칙에 지정된대로 유효하지 않은 출력입니다.

입력

코드는 정수 또는 숫자 형식의 모든 종류의 입력 (그래픽, STDIN)을 취할 수 있습니다.

산출

코드는 입력 번호에 도달 할 때까지 위에서 설명한 순서대로 출력 한 다음 다시 1에 도달 할 때까지 출력을 완료해야합니다. 출력은 숫자, 문자열, 정수 또는 그래픽 출력 일 수 있습니다. 단일 숫자를 인쇄해야합니다 (문자열 인 경우 줄 바꿈 없음). 필요한만큼의 문자 (예 :)를 사용하여 출력물을 인 / 아웃 할 수 있습니다 [].

약간의 오해가 있었으므로 다음은 출력을 시도 할 수있는 정규식 패턴입니다.

^(\D*(\d)+\D*)$

규칙

  • 출력은 줄 바꿈이 아닌 다른 것으로 나눠지지 않은 정수 여야합니다.
  • 알고리즘은 어떤 방식 으로든 (예 : 21in 121321) 나타나는 N의 첫 번째 인스턴스를 확인하지 말고 실제 숫자로 N의 첫 번째 인스턴스를 확인해야합니다.
  • 단일 후행 줄 바꿈이 허용됩니다.
  • 음수 입력 처리는 전적으로 선택되며 음수는 테스트해야 할 경우가 아닙니다.

테스트 사례

Input: 6
Output: 121321432154321654321

Input: 1 Output: 1

Input: 26 Output: 121321432154321654321765432187654321987654321109876543211110987654321121110987654321131211109876543211413121110987654321151413121110987654321161514131211109876543211716151413121110987654321181716151413121110987654321191817161514131211109876543212019181716151413121110987654321212019181716151413121110987654321222120191817161514131211109876543212322212019181716151413121110987654321242322212019181716151413121110987654321252423222120191817161514131211109876543212625242322212019181716151413121110987654321

Input: 0 Output: 0, Empty, or Error

Input: 21 Output: 121321432154321654321765432187654321987654321109876543211110987654321121110987654321131211109876543211413121110987654321151413121110987654321161514131211109876543211716151413121110987654321181716151413121110987654321191817161514131211109876543212019181716151413121110987654321212019181716151413121110987654321

@Emigna에게 감사드립니다. 그의 알고리즘을 사용하여 이러한 테스트 사례를 계산했습니다.

우승자

승자가 선택되었습니다! 그것은 인상적인 5 바이트 의 ErikGolfer의 대답 이었습니다 ! 축하합니다!


The output must be a full number ...전체 시퀀스 또는 다른 하위 문자열 (1, 2-1, 3-1 ...)만을 의미합니까? 첫 번째 예가이 진술과 일치하지 않는 것 같습니다.
steenbergh

1
출력이 단일 숫자 여야하는 경우 어떻게 "배열"이 될 수 있습니까?
smls

이 배열을 출력으로 사용할 수 있습니까? [1, 21, 321, 4321, 54321, 654321] 이건 어때? [1,2,1,3,2,1,4,3,2,1,5,4,3,2,1,6,5,4,3,2,1] 아니면 단일 요소가있는 배열에 대해 이야기하고 [121321432154321654321]있습니까?
smls

1
출력 형식이 혼란 스럽습니다. 수용 가능한 것에 대한 예를 들어 줄 수 있습니까? 숫자 배열? 공백으로 구분 된 숫자가있는 문자열?
Luis Mendo

1
정규식은의 출력을 허용합니다 mickey321211mouse. 실제로 \D부품은 거기에 이유가 없습니다
edc65

답변:



19

05AB1E , 6 바이트

L€LíJJ

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

설명

입력 예 4

L       # range [1 ... input]
        # STACK: [1,2,3,4]
 €L     # map: range
        # STACK: [[1],[1,2],[1,2,3],[1,2,3,4]]
   í    # reverse each
        # STACK: [[1],[2,1],[3,2,1],[4,3,2,1]]
    J   # join inner lists
        # STACK: ['1','21','321','4321']
     J  # join list
        # OUTPUT: 1213214321

13

자바 스크립트 (ES6), 37 바이트

f=(n,k=1)=>k>n?n--?f(n):'':f(n,k+1)+k

데모

n <10, 34 바이트에 대한 대체 방법 (비경쟁)

f=(n,s='1')=>--n?s+f(n,++s[0]+s):s

JavaScript에서는 문자열을 변경할 수 없습니다. 따라서 s새 값을에 할당하여 문자열의 N 번째 문자 내용을 변경할 수 없습니다 s[N].

그러나 표현식 ++s[N]은 유효하며 문자열이 변경되지 않은 경우에도 예상대로 평가됩니다. 예를 들어 :

++"1"[0] // equals 2

그리고 확장하여 :

s = "21"
++s[0] + s // equals "321"

n> 9에서 작동하지 않는 것 같습니다
edc65

@ edc65 물론입니다. 9시에 멈출 수 있다고 생각한 이유를 모르겠습니다.
Arnauld

12

V, 29 28 27 23 19 17 16 바이트

@DJMcMayhem 덕분에 8 바이트 절약

@ nmjcman101 덕분에 3 바이트 절약

"apÀ­ñÄòy$jpkgJ

숨겨진 문자 :

"apÀ<C-x>ñÄ<C-x>òy$jpkgJ

C-x Ctrl + x입니다.

온라인으로 사용해보십시오! 명령 줄 인수를 통해 입력을받습니다.

16 진 덤프 :

0000000: 2261 70c0 adf1 c418 f279 246a 706b 674a  "ap......y$jpkgJ

설명

"ap            Paste the argument
À<C-x>         Argument minus 1 times (so that we exclude the 0)
ñ ... ò        Loop (for some weird reason the ò closes the ñ)
Ä<C-x>         paste current line above and decrement it

이제는 다음과 같습니다

1
2
...
n

계속되는...

ò             recursively do (until a breaking error)
y$             yank this line
  jp           paste it down
    kgJ        go up and join
              implicit ò end

GIF (오래됨)

(arg 용 6)

gif


루프를 a) 암시 적으로 끝내고 b) 끝이 아닌 줄을 따라 줄에 연결하여 몇 가지를 얻었습니다.òy$jpkgJ
nmjcman101

@ nmjcman101 2 바이트 절약에 도움을 주셔서 감사합니다!
Kritixi Lithos

이것은 꽤 골프입니다. 나는 20 분 동안 뇌를 쌓아 왔으며 더 짧은 것을 생각할 수 없다. :)
DJMcMayhem

@DJMcMayhem 큰 도움이 되었기 때문에 :)
Kritixi Lithos

내가 해냈어! 16 바이트까지 줄일 수 있습니다. arg를 붙여 넣은 다음 위쪽으로 복제 / 감소하면 H를 제거하게됩니다. 그런 다음의에서 감소 연산자를 사용 À하면 맨 위에 0이 없으므로 x를 제거 할 수 있습니다. 그런 다음 APPARENTLY a ò는 a 를 닫아 ­ñ두 번째 ­ñ바이트 (저장 한 바이트)를 제거 할 수 있습니다 . 링크 말도하지 그 때문에
nmjcman101

11

C #, 72 69 65 바이트

n=>{for(int i=0,j;i<n;)for(j=++i;j>0;)System.Console.Write(j--);}

콘솔에 쓰는 대신 출력을 반환 할 수있는 경우

C #, 71 68 64 바이트

n=>{var s="";for(int i=0,j;i<n;)for(j=++i;j>0;)s+=j--;return s;}

많은 바이트를 절약 한 @VisualMelon 덕분에

여기서 테스트 하십시오 (유명하게 온라인 컴파일러는 420을 초과하는 숫자에서 중단됩니다)


정말 빨랐습니다.
devRicher

@devRicher 내가 무엇을 말할 수 있는지, 나는 무언가가 게시되기를 기다리고 있었다 : P
Alfie Goodacre

2
C # 코드 골프에서 while 루프를 사용해야 할 이유는 없습니다. for-loop는 항상 나아지더라도 성능이 좋습니다. 이 경우 j=1for 루프에 할당을 포함시키고 세미콜론을 저장할 수 있습니다. j을 함께 선언하여을 ( i를) 저장할 수도 int있습니다. 은 i++또한으로 이동할 수 있습니다 j=i바이트를 저장 할당. 또한 대체 할 수 있어야 i<=ni<n당신이 그것을 할 경우 j=++i대신하고 시작 i0.
VisualMelon

@VisualMelon이 편집하여 3 바이트를 절약했습니다! 정수를 함께 선언하면 실제로 바이트 수에 차이가 없었지만 루프가 조금 더 멋지게 보입니다.
Alfie Goodacre

@AlfieGoodacre for 루프에서 함께 선언하면 2 바이트를 더 절약 할 수 for(int i=0,j;i<n;)있습니다.) {}내부 for 루프 주위 가 필요하지 않습니다 .
VisualMelon

8

순수한 배쉬, 34

eval eval printf %s \\{{1..$1}..1}

2 단계의 버팀대 확장. 입력 6을 사용하면 첫 번째 레벨이로 확장됩니다 {1..1} {2..1} {3..1} {4..1} {5..1} {6..1}. 그런 다음으로 확장 1 2 1 3 2 1 4 3 2 1 5 4 3 2 1 6 5 4 3 2 1되어을 사용하여 하나의 문자열로 묶입니다 printf %s. eval되도록 제 수준 -의 팽창은 두 차원에서 필요한 $1파라미터가 먼저 팽창하고, 그 때문에 두번째 레벨 대 첫 단계 후 확장한다.

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


8

펄, 21 바이트

-E추가 비용없이 사용합니다 .

say map$}=$_.$},1..<>

용법

perl -E 'say map$}=$_.$},1..<>' <<< 6
121321432154321654321

7

Pyth, 7 바이트

jks}R1S

정수를 입력 받아 결과를 출력하는 프로그램입니다.

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

작동 원리

jks}R1S   Program. Input: Q
jks}R1SQ  Implicit input fill
    R     Map
      SQ  over [1, 2, 3, 4, ..., Q] with i:
   } 1     Yield [i, i-1, i-2, i-3, ..., 1]
  s       Merge
jk        Join
          Implicitly print

개인적으로 나는 그것이 jk_hC.:S더 길지만 멋진 일로 매우 실망했습니다 !
FryAmTheEggman 2014

7

지오 지브라 , 67 바이트

1
InputBox[a]
Sum[Join[Sequence[Sequence[Text[j],j,i,1,-1],i,1,a]]]

각 줄은 입력 막대에 별도로 입력됩니다. 입력은 입력 상자에서 가져옵니다.

실행의 gif는 다음과 같습니다.

프로그램 실행

작동 원리

입력 1암시 양수인 a에를 1, 그리고 InputBox명령과 함께 입력 상자를 연결합니다 a. 그런 다음 iin의 각각 에 대해 명령을 사용하여 {1, 2, 3, ..., a}목록 {i, i-1, i-2, ..., 1}이 작성 되고 해당 목록의 Sequencej이를 사용하여 문자열로 변환됩니다 Text. 마지막으로 Join모든 목록을 병합하고 모든 Sum요소를 하나의 텍스트 개체로 연결합니다.이 개체는 표시됩니다.


@devRicher 그것은 합리적인 것 같습니다. 감사!
TheBikingViking


7

망막 , 26 22 바이트

바이트 수는 ISO 8859-1 인코딩을 가정합니다.

.+
$*

$`¶
1
$.%'
0?¶

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

설명

.+
$*

입력을 단항으로 변환합니다.


$`¶

각 위치에서 해당 지점까지의 접두사와 줄 바꿈을 삽입하십시오. 이 범위에서 단항를 생성 2하는 n+1라인 당 하나 개의 값.

1
$.%'

1같은 줄에 각각 의 문자 수를 바꿉니다 . 이 같은 회전 11111로를 43210.

0?¶

모든 줄 바꿈과 그 앞에 오는 0을 제거합니다.


5

GameMaker 언어, 65 바이트

b=""for(i=1;i<=argument0;i++){c=i while(j)b+=string(c--)}return b

5

APL, 10 바이트

∊⍕¨∘⌽∘⍳¨∘⍳

예 :

      (∊⍕¨∘⌽∘⍳¨∘⍳)6
121321432154321654321

설명:

  • : 1에서 N까지의 숫자를 얻습니다.
  • ⍳¨∘: 각각에 대해 1에서 N까지의 숫자를 얻으십시오.
  • ⌽∘: 그 목록을 반대로
  • ⍕¨∘: 각 항목의 문자 표현을 가져옵니다 (따라서 공백이있는 숫자는 출력하지 않습니다)
  • : 결과 배열을 평평하게

그래서 코드를 거꾸로 파싱하고 있습니까?
devRicher

함수 구성입니다. 함수가 실제로 평가되는 순서대로 설명을했습니다
marinus

1
다음은 궁금한 부분을위한 파싱 트리입니다. tryapl.org/…
marinus


5

실제로 8 바이트

RR♂RΣRεj

실제로 실제로 답변을 게시하면 골프를 칠 수 있습니다.

작동 원리

Program takes implicit input, implicit print at EOF
R           Takes the input and creates a range (1, input)   
                STACK = [1,2,..,n]
 R          Reverse the top stack item (our range)
                STACK = [n,..,2,1]
  ♂R        For each item in our range, create a range (1, rangeitem)
                STACK = [[1,2,..,n], .., [1,2], [1]]
    Σ       Stitch the items of the list together
                STACK = [n,..,1,2,3,1,2,1]
     R      Reverse the top stack item again (our answer)
                STACK = [1,2,1,3,2,1,..n]
      εj    Create an empty string and append each item from the list to it.
            (turns non string items into strings)

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


1
더 짧은 솔루션 있는지 확실하지 않지만 이전에 자신이 틀렸다는 것을 증명했습니다. 어쨌든 귀하의 답변에 대한 온라인 사용해보기 링크 는 다음과 같습니다.
Sherlock9

1
코드 R♂R♂RΣεj는 동일한 바이트 수이지만 설명을 작성하는 것이 더 쉬울 수 있습니다.
Sherlock9

@ Sherlock9 당신의 길은 조금 더 우아합니다. 링크와 설명을 추가했습니다. 어제 추가하여 설명하지 못했습니다.
청록 펠리컨


4

펄 6 , 22 바이트

{[~] flat [\R,] 1..$_}

문자열을 반환하는 람다.

( 온라인으로 시도하십시오. )

설명:

  • 1..$_: 정수 범위 ... (1 2 3 4)
  • [,] 1..$_: 쉼표 연산자보다 줄어 듭니다 ( "폴드") ... (1 2 3 4)
  • [\,] 1..$_: 중간 결과 ( 삼각형 축소 )로 ...((1) (1 2) (1 2 3) (1 2 3 4))
  • [\R,] 1..$_: 메타 연산자를 쉼표에 적용하십시오 ...((1) (2 1) (3 2 1) (4 3 2 1))
  • [~] flat ...: 목록 중첩을 제거하고 문자열 연결 연산자를 접습니다. 1213214321

4

하스켈, 35 바이트

f x=[1..x]>>= \y->[y,y-1..1]>>=show

사용 예 : f 6-> "121321432154321654321".

목록의 모든 숫자 x1 ... x대해 x,x-1, ... ,1숫자를 문자열로 바꾸고 단일 문자열로 연결하십시오. 다시, 해당 문자열을 단일 문자열로 연결하십시오.


4

C89, 54 바이트

i,j;f(n){for(i=1;j<=n;j=i++)while(j)printf("%d",j--);}

56-2 = 54 ErikGolfer 덕분에!


나는 당신 이 마지막 (비평가) (j=i++)대신에 할 수 있다고 생각합니다 . (j=i)i++
Erik the Outgolfer

더 짧은 재귀 버전은 다음과 같습니다. i,j;f(n){j=++i;while(j)printf("%d",j--);i-n?f(n):0;}(52 바이트)
Steadybox

@Steadybox 원하는 경우 자신의 답변으로 추가 할 수 있지만 감사합니다!
cat

@cat 좋아, 고마워. 솔루션을 편집 한 이후로 해야하는지 확실하지 않았습니다.
Steadybox

4

파이썬 3, 87 92 83 74 바이트

lambda n:"".join(["".join([str(i)for i in range(1,k)][::-1])for k in range(1,n+2)])

재귀를 사용하는 짧은 답변 :

f=lambda n:f(n-1)+"".join([str(i)for i in range(1,n+1)][::-1])if n>0else""

아마도 가장 짧은 것은 아니지만 파이썬의 목록 이해로 만 만들어졌습니다!

(인쇄 기능을 추가하고 \ n을 제거하도록 편집 됨)

(인쇄 기능을 제거하고 n + 1, k + 1을 n, k + 2로 변경하도록 편집 됨)


k, n + 2에서는 작동하지만 k + 2, n에서는 작동하지 않습니다. 아이디어 덕분에 감사합니다 :)
Sygmei

점수를 매기는 코드가 먼저 있어야합니다. 또한 Python 2를 사용한 다음 `i`대신 사용해야 합니다 str(i). 그리고 당신이 사용할 수있는 "".join(...)대신에 "".join([...]), 그리고 range(1,k,-1)을 제거 [...][::-1].
mbomb007

또한 일 n>0수 있습니다 n. 그리고 나는 의미했다 range(n,0,-1). 그리고 사용하십시오 n and f(n-1)+...)or"".
mbomb007

1
62 바이트 . 실제로 이것은이 답변에 너무 가까워지고 있습니다 .
mbomb007

예이 꽤 가까워지고, 내 두 번째 버전 :( 수행 한 후 그보고있다
Sygmei

3

Pyth, 8 바이트

jks_M._S

설명

jks_M._SQ   Implicit input
       SQ   Get the range [1, 2, ..., N]
     ._     Get each prefix
   _M       Reverse each prefix
jks         Join everything as a string


3

수학, 36 바이트

ToString/@(""<>Range[Range@#,1,-1])&

안전하게 무시할 수있는 여러 경고를 던집니다.

설명

입력 5을 예로 사용 :

Range@#

범위를 만듭니다 {1, 2, 3, 4, 5}.

Range[...,1,-1]

Range인수 목록을 제공 할 수 있으므로 해당 인수를 자동으로 스레드합니다. 그래서 이것은 우리에게 많은 역전 된리스트를줍니다 :

{{1}, {2, 1}, {3, 2, 1}, {4, 3, 2, 1}, {5, 4, 3, 2, 1}}

다음:

(""<>...)

이렇게하면 중첩 된 목록이 빈 문자열과 결합됩니다. 중첩 목록에는 실제로 문자열이 포함되어 있지 않으므로 실제로 경고가 생성되는 값을 조인 할 수는 없지만 ""<>목록을 병합하는 부작용이 있습니다. 그래서 이것은 우리에게

1 <> 2 <> 1 <> 3 <> 2 <> 1 <> 4 <> 3 <> 2 <> 1 <> 5 <> 4 <> 3 <> 2 <> 1

이제 Mathematica Map가 매핑하는 구조에 신경 쓰지 않는 아름다운 기능이 제공됩니다 . 일반적으로 목록에 적용하지만 모든 헤드에서 작동합니다. f /@ h[a, b, c]단순히 당신에게 제공합니다 h[f[a], f[b], f[c]]. 우리의 경우, head는 StringJoin있고 값은 정수입니다.

ToString/@...

따라서 이것은 단순히 정수를 문자열로 바꿉니다. 이 시점 StringJoin[...]에서 그들과 함께해야 할 일을 알고 하나의 문자열로 결합합니다.

"121321432154321"

1
그것은 단지 불쾌한 일입니다. :)
Greg Martin

3

GolfScript , 14 바이트

~,{),{)}%-1%}%

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

물론 일반적인 방법이지만 이것이 GolfScript입니다.

VAST 코드에 대한 설명 :

~,{),{)}%-1%}% # Code
               # Initial stack.      ["n"]
~              # Eval ToS.           [n]
 ,             # ToS' lowered range. [[0..n)]
  {),{)}%-1%}  # Block. 1 argument.  [a]
   )           # Increment.          [a+1]
    ,          # Range.              [[0..a)]
     {)}       # Block. 1 argument.  [b]
      )        # Increment.          [b+1]
        %      # Map.                [[1..a]]
         -1    # Integer. -1         [[1..a] -1]
           %   # Each nth element.   [[a..1]]
             % # Map.                [[[1],[2,1],...,[n..1]]]
               # Implicit output.    121...n..1

출력은 단일 숫자입니다. 후행 \n.


3

R, 38 33 44 바이트

if((n=scan())>0)for(i in 1:n)cat(i:1,sep="")

STDIN에 입력을 취하고 1에서 n까지 반복하여 각 단계마다 시퀀스 i에서 1을 작성하고 인쇄합니다.

편집 : 5 바이트 seq(i,1)i:1절약하고 회의 중에 골프를 치면 안되는 이유를 보여주었습니다.


101입력이 인 경우 생성 됩니다 0. if((n=scan())>0)for(i in 1:n)cat(i:1,sep="")트릭을 수행합니다.
Frédéric

젠장, 0이 아닌 입력으로 가정 :(
JAD

if(n<-scan())충분해야합니다.
주세페

3

MATL , 14 11 바이트

:"@:P]v!VXz

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

설명

:      % Input N implicitly. Push range [1 2 ...N]
"      % For each k in [1 2 ...N]
  @:   %   Push range [1 2 ... k]
  P    %   Reverse
]      % End
v!     % Concatenate all arrays horizontally
V      % Convert to string
Xz     % Remove spaces. Display implicitly

not split up by anything, 두 번째는 허용되지 않는다고 생각하십시오.
JAD

2
내가 OP의 관계를 설명 할 때까지 하나 삭제됩니다 @JarkoDubbeldam
루이스 Mendo

1
@Jarko OP가 명확 해졌습니다. 현재 솔루션 부합 함을 선언는 SPEC에
루이스 Mendo에게

3

brainfuck, 17 바이트

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

설명

>           keep the first cell at 0
 ,          input of the decimal number into the cell
  [>        start a conditionnal loop and go to the next cell
   [+.>]    while it don't find 0, increment each cells and output the value
    +.      increment the new cell and output
     [<]    go to the first cell
      >-]   decrement the second cell and restart

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


PPCG에 오신 것을 환영합니다! 둘러보기 페이지와 가장 인기있는 메타 질문을 읽었습니까? 도움이 되길 바랍니다. 또한 코드를 코드 형식으로 감싸십시오! 서식 도움말을 읽었습니까? 가능하면 코드 작동 방식도 설명해야합니다!
devRicher

@muddyfish 방금 설명을 추가했습니다
Milihhard

모바일 앱을 사용했습니다. 결과 화면을 볼 수 있습니다.
Milihhard

아냐 괜찮아 당신이 정말로 출력이 표시되지 않도록하지만 링크에서 OUPUT는 아스키가 아닌 소수에
Milihhard

@muddyfish 귀하의 permalink는 약간 혼란입니다. 입력에 보이지 않는 0x06이 있고 10 진수 6이 있습니다.
Dennis

3

파이썬 , 63 57 59 바이트

파이썬 2와 3 모두에서 작동하는 재귀 솔루션입니다. 골프 제안을 환영합니다! 온라인으로 사용해보십시오!

편집 : Jonathan Allan 덕분에 -6 바이트. 내 대답에 문제가 있음을 지적한 mbomb007 덕분에 +2 바이트.

f=lambda n:n and f(n-1)+"".join(map(str,range(n,0,-1)))or""

언 골핑

def f(n):
    s = ""
    for i in range(n+1):
        m = map(str, range(n, 0, -1))
        s += "".join(m)
    return s

2
a map를 사용하여 6 바이트를 저장 하십시오 .lambda n:n and f(n-1)+"".join(map(str,range(n,0,-1)))or""
Jonathan Allan

2

PHP, 35 34 33 바이트

내가 잘못 계산했기 때문에 바이트를 절약했습니다. Titus 덕분에! 그리고 또 다른!

while($i++<$argv[1])echo$s=$i.$s;

로 명령 줄에서 실행하십시오 -r.

아주 간단한 대답은 1부터 입력까지 반복 n하여 숫자를 문자열의 시작 부분에 붙이고 인쇄합니다.


나는 34를 센다. 후행 증가로 1 바이트 더 짧다.
Titus

33 바이트 :while($i++<$argv[1])echo$s=$i.$s;
aross

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.