입력 값이 주어지면 기본과 거듭 제곱이 입력 값과 일치하는 모든 지수를 인쇄합니다


20

이것이이 사이트의 첫 번째 도전입니다.

문제는 양 의 입력 정수 을 가져 와서 오름차순으로 ( 을 포함하여 ~ n ) (여기서 는 현재 정수임)으로 인쇄하는 것입니다. 1나는(나는)나는

입력 5가 주어지면 프로그램은 다음을 인쇄합니다.

1  
8  
9  
4  
1  

14 는 1이고 은 8이고 는 9이고 은 4이고 은 1이며1+4=5
22+=5
2+2=5
414+1=5
505+0=5

입력과 출력

입력은 양의 정수 형태입니다. 출력은 쉼표 또는 줄 바꿈으로 구분 된 숫자 목록입니다.

이것은 이므로 가장 짧은 코드가 승리합니다.


5
쉼표 / 줄 바꿈 세부 사항은 생략해야합니다. 여기서는 목록 출력이 함수에 의해 리턴되는 목록 / 배열 오브젝트를 포함하여 편리한 형식으로 출력되는 것이 일반적입니다.
Sparr

3
입력이 항상 0보다 크거나 0과 음수를 처리해야합니까?
Veskah

입력은 항상 긍정적입니다
무지의 구현

6
두 개의 짧은 답변은 중요하지 않습니다. 답변을 수락하고 싶은 경우 가장 빠른 답변을 선택하십시오. 그러나 나는 강하게 적어도 며칠 기다리는 것이 좋습니다, 결코 대답을 수용하지 제안 (더 제출을 장려하기 위해).
OUurous

2
제목이 " 정수로 주어지면 , 밑수와 입력 값에 합한 지수로 얻은 모든 거듭 제곱 을 출력하십시오"?
Nicola Sap

답변:


6

APL (Dyalog Unicode) , 8 5 바이트

⍳*⊢-⍳

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

익명 접두사 암묵적 기능. 범위 [1..10]에 대한 TIO 테스트.

3 바이트에 대한 @lirtosiast 감사합니다.

방법:

⍳*⊢-⍳  Tacit function
      Range. n generates the vector [1..n].
  ⊢-  Subtracted from the argument. The vector is now [n-1,n-2,...,0]
⍳*     Exponentiate using the range [1..n] as base. The result is the vector
       [1^(n-1), 2^(n-2), 3^(n-3),...]

2
⍳*⊢-⍳를 사용하여 5 바이트 ⎕IO←1입니다.
lirtosiast

@lirtosiast는 왜 그것이 효과가 있는지 알아내는 데 시간이 걸렸지 만 그것을 얻었습니다. 감사.
J. Sallé




5

Aheui (동위 원소) , 193 164 바이트 (56 자)

방빠싹받분샥퍼붇바파쟈뿌차샦히망맣여
타빠바푸투반또분뽀뿌서썪삯타삯받반타
석차샦져쌲볼어타토싻삭빠쏛ㅇ또섞썪뻐

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

AVIS ( 한국어 ) 에서 사용해보십시오 . 위의 코드를 복사하여 붙여 넣은 다음 시작 버튼을 누르고 숫자를 입력하고 어떻게 움직이는 지 확인하십시오. 출력을 보려면 왼쪽 의 > _ 아이콘을 누르십시오 .


많이 골프는 아니지만 나는 그것을 쐈다.


각 문자가 2 바이트로 저장되도록 문자 세트를 선택할 수 있습니까?
tsh

@tsh Aheui 사양 에 따르면 Aheui 코드는 UTF-8 문자로만 구성됩니다.
cobaltp











2

망막 , 35 바이트

.+
*
_
$$.($.'*$($.>`$*)_¶
%~`^
.+¶

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

.+
*

입력을 단항으로 변환하십시오.

_

각 위치를 일치시킵니다. 그런 다음 여러 대체 변수를 설정합니다. $`경기의 왼쪽이된다; $>`이것을 왼쪽과 일치하도록 수정합니다. $.>`길이, 즉 현재 색인을 가져 오도록이를 수정합니다. $'반면에 일치하는 권리 $.'는 길이, 즉 현재 지수입니다.

$$.($.'*$($.>`$*)_¶

캐릭터 생성 $.(플러스 $.'의 반복을 $.>`*플러스 _. 예를 들어, 원래 입력 5에서 인덱스 2의 경우 $.'3 $.>`은 2 이고 결과 문자열은 $.(2*2*2*_입니다. 이것은 편리하게 2³를 caluclate하는 Retina 대체 표현입니다. 각 문자열은 자체 줄에 출력됩니다.

%~`^
.+¶

이전 단계에서 생성 된 각 줄에 대해 줄 앞에 접두사를 붙여서 .+대체 단계로 바꾸고 해당 단계를 평가하여 식을 계산합니다.


2

Q 기본, 35 33 바이트

@Neil에게 2 바이트 감사합니다!

INPUT a
FOR b=1TO a
?b^(a-b)
NEXT

인터프리터가 전적으로 사양 에 맞지 않기 때문에 REPL.IT 에서 약간 확장 된 버전입니다 .

산출

QBasic (qb.js)
Copyright (c) 2010 Steve Hanov

   5
1
8
9
4
1

올바른 순서로 목록을 출력하여 2 바이트를 절약하십시오! ( b^(a-b)에 대한 b=1..a)

@ Neil 감사합니다, 나는 그것을 일했습니다!
steenbergh


2

자바 스크립트 (Node.js) , 33 32 바이트

n=>(g=i=>--n?++i**n+[,g(i)]:1)``

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

@Shaggy에 크레딧이있는 -3 바이트 및 @ l4m2에 의해 -1 바이트!

자바 스크립트 (Node.js) , 36 바이트

f=(n,i=1)=>n--?[i++**n,...f(n,i)]:[]

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

자바 스크립트 (Node.js) , 37 바이트

n=>[...Array(n)].map(x=>++i**--n,i=0)

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





2

MATL , 5 바이트

:Gy-^

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

설명

5예를 들어 입력 을 고려하십시오 .

:     % Implicit input. Range
      % STACK: [1 2 3 4 5]
G     % Push input again
      % STACK: [1 2 3 4 5], 5
y     % Duplicate from below
      % STACK: [1 2 3 4 5], 5, [1 2 3 4 5]
-     % Subtract, element-wise
      % STACK: [1 2 3 4 5], [4 3 2 1 0]
^     % Power, element-wise. Implicit display
      % STACK: [1 8 9 4 1]

2

자바, 59 바이트

for(int i=1;a+1>i;i++)System.out.println(Math.pow(i,a-i));

1
PPCG에 오신 것을 환영합니다. 이를 위해서는 사전 정의 된 variable에 "입력"을 할당해야하는데 a허용되지 않습니다.
Shaggy

2
안녕하세요, 여기에 대한 수정이다 : n->{for(int i=0;i++<n;)System.out.println(Math.pow(i,n-i));} 60 바이트 (링크 코드 및 테스트 케이스)
올리비에 그레 구 아르

1

클린 , 37 바이트

import StdEnv
$n=[i^(n-i)\\i<-[1..n]]

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

$ :: Int -> [Int]정수를 취하고 결과 목록을 반환하도록 정의합니다 .

$ n                // function $ of n
 = [i ^ (n-i)      // i to the power of n minus i
    \\ i <- [1..n] // for each i in 1 to n
   ]


1

05AB1E , 5 바이트

LD<Rm

@lirtosiast 의 젤리 답변 포트 .

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

설명:

L      # List in the range [1, (implicit) input integer]
       #  i.e. 5 → [1,2,3,4,5]
 D<    # Duplicate this list, and subtract 1 to make the range [0, input)
       #  i.e. [1,2,3,4,5] → [0,1,2,3,4]
   R   # Reverse it to make the range (input, 0]
       #  i.e. [0,1,2,3,4] → [4,3,2,1,0]
    m  # Take the power of the numbers in the lists (at the same indices)
       # (and output implicitly)
       #  i.e. [1,2,3,4,5] and [4,3,2,1,0] → [1,8,9,4,1]


1

R, 22 바이트

n=scan();(1:n)^(n:1-1)

공정한 자기 설명; 있습니다 :운영자가보다 높은 precendence이다 -그 때문에 운전자가 n:1-1보다 짧은(n-1):0

0에서 시작할 수 있으면 (0:n)^(n:0)-1이 필요하지 않으므로 2 바이트를 잃을 수 있습니다 .


1

, 9 바이트

I⮌ENX⁻θιι

온라인으로 사용해보십시오! 링크는 자세한 버전의 코드입니다. 설명:

   N        Input as a number
  E         Map over implicit range
       ι    Current value
     ⁻      Subtracted from
      θ     First input
    X       Raised to power
        ι   Current value
 ⮌          Reverse list
I           Cast to string
             Implicitly print on separate lines


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