Đưa ra một đầu vào, in tất cả các số mũ trong đó cơ sở và tổng công suất cho đầu vào


20

Vì vậy, đây là thử thách đầu tiên của tôi trên trang web này.

Thách thức là lấy một số nguyên đầu vào , sẽ là số dương và in theo thứ tự tăng dần ( đến n , bao gồm n ), đầu ra của i ^ {(ni)} (trong đó i là số nguyên hiện tại). n1ntôi(n-tôi)tôi

Thí dụ

Cho đầu vào 5, chương trình sẽ in:

1  
8  
9  
4  
1  

14 là 1 và1+4= =5
23 là 8 và2+3= =5
32 là 9 và3+2= =5
41 là 4 và4+1= =5
50 là 1 và5+0= =5

Đầu vào và đầu ra

Đầu vào sẽ ở dạng số nguyên dương. Đầu ra sẽ là một danh sách các số, được phân cách bằng dấu phẩy hoặc dòng mới.

Đây là , vì vậy mã ngắn nhất sẽ thắng.


5
Chi tiết dấu phẩy / dòng mới nên được bỏ qua, thông thường ở đây là để cho đầu ra của danh sách ở bất kỳ định dạng thuận tiện nào, bao gồm cả một đối tượng danh sách / mảng được trả về bởi một hàm
Sparr

3
Là đầu vào luôn lớn hơn 0 hay chúng ta phải xử lý 0 và phủ định?
Veskah

Đầu vào sẽ luôn tích cực
Hiện thân của sự thiếu hiểu biết

6
Hai câu trả lời ngắn bằng nhau không thành vấn đề. Nếu bạn cảm thấy muốn chấp nhận một câu trả lời, hãy chọn câu trả lời sớm nhất. Tuy nhiên tôi mạnh mẽ khuyên bạn nên đợi ít nhất một vài ngày, và sẽ đề nghị không bao giờ chấp nhận một câu trả lời (để khuyến khích nhiều đệ trình).
Οurous

2
Không phải tiêu đề là "Cho một số nguyên , in tất cả các quyền có được với một cơ sở và số mũ tổng hợp với đầu vào"?
Nicola Sap

Câu trả lời:


6

APL (Dyalog Unicode) , 8 5 byte

⍳*⊢-⍳

Hãy thử trực tuyến!

Chức năng ẩn danh tiền tố ẩn danh. Các thử nghiệm TIO cho phạm vi [1..10].

Cảm ơn @lirtosiast cho 3 byte.

Làm sao:

⍳*⊢-⍳  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
⍳*⊢-⍳là 5 byte, sử dụng ⎕IO←1.
lirtosiast

@lirtosiast tôi đã mất một thời gian để tìm hiểu tại sao nó hoạt động, nhưng tôi đã nhận nó. Cảm ơn.
J. Sallé


5

Japt, 5 byte

õ_p´U

Thử nó

õ         :Range [1,input]
 _        :Map
  p       :  Raise to the power of
   ´U     :  Input decremented


5

Aheui (esotope) , 193 164 byte (56 ký tự)

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

Hãy thử trực tuyến!

Hãy thử nó trên AVIS (tiếng Hàn ); chỉ cần sao chép và dán mã ở trên, nhấn nút bắt đầu, nhập số, xem cách nó di chuyển. Để xem đầu ra, nhấn biểu tượng > _ ở bên trái.


Nó không được đánh gôn nhiều, nhưng tôi cho nó một cú.


Có thể chọn một bộ ký tự, sao cho mỗi ký tự được lưu trữ trong 2 byte?
tsh

@tsh Theo thông số kỹ thuật của Aheui , mã Aheui chỉ bao gồm các ký tự UTF-8.
cobanp











2

Võng mạc , 35 byte

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

Hãy thử trực tuyến! Giải trình:

.+
*

Chuyển đổi đầu vào thành unary.

_

Phù hợp với từng vị trí. Điều này sau đó đặt một số biến thay thế. $`trở thành bên trái của trận đấu; $>`sửa đổi điều này là bên trái và phù hợp; $.>`sửa đổi điều này để lấy chiều dài, tức là chỉ số hiện tại. $'Trong khi đó là quyền của trận đấu, $.'độ dài tức là số mũ hiện tại.

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

Tạo một chuỗi $.(cộng với $.'sự lặp lại của $.>`*cộng _. Ví dụ, đối với chỉ số là 2 trong đầu vào ban đầu là 5, $.'là 3 và $.>`là 2 nên chuỗi kết quả là $.(2*2*2*_. Điều này thuận tiện là một biểu thức thay thế Retina có kích thước 2. Mỗi chuỗi là đầu ra trên dòng riêng của nó.

%~`^
.+¶

Đối với mỗi dòng được tạo bởi giai đoạn trước, hãy thêm tiền tố vào một dòng .+, biến nó thành giai đoạn thay thế và đánh giá giai đoạn đó, từ đó tính toán biểu thức.


2

QBasic, 35 33 byte

Cảm ơn bạn @Neil vì 2 byte!

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

Phiên bản được mở rộng một chút trên REPL.IT vì trình thông dịch không hoàn toàn cập nhật.

Đầu ra

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

   5
1
8
9
4
1

Lưu 2 byte bằng cách xuất danh sách theo đúng thứ tự! ( b^(a-b)cho b=1..a)
Neil

@Neil Cảm ơn, tôi đã làm việc đó!
steenbergh




2

MATL , 5 byte

:Gy-^

Hãy thử trực tuyến!

Giải trình

Hãy xem xét đầu vào 5là một ví dụ.

:     % 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

Java, 59 byte

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

1
Chào mừng đến với PPCG. Có vẻ như điều này đòi hỏi "đầu vào" được gán cho biến được xác định trước amà chúng tôi không cho phép.
Xù xì

2
Xin chào, đây là bản sửa lỗi cho bạn: n->{for(int i=0;i++<n;)System.out.println(Math.pow(i,n-i));} 60 byte (mã và trường hợp kiểm tra trong liên kết)
Olivier Grégoire

1

Sạch sẽ , 37 byte

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

Hãy thử trực tuyến!

Xác định $ :: Int -> [Int]lấy một số nguyên và trả về danh sách kết quả.

$ 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

R , 34 byte

x=1:scan();cat(x^rev(x-1),sep=',')

Hãy thử trực tuyến!


Là "sep" mặc định không phải là một khoảng trắng? Điều đó sẽ không làm việc?
stuart stevenson

1
@stuartstevenson "Đầu ra sẽ là một danh sách các số, được phân tách bằng dấu phẩy hoặc dòng mới."
Giuseppe

1

05AB1E , 5 byte

LD<Rm

Cổng của câu trả lời Jelly của @lirtosiast .

Hãy thử trực tuyến.

Giải trình:

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 byte

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

Khá tự giải thích; lưu ý rằng :toán tử có độ ưu tiên cao hơn -toán tử nên n:1-1ngắn hơn(n-1):0

Nếu chúng ta được phép bắt đầu từ 0, thì chúng ta có thể mất hai byte bằng cách (0:n)^(n:0)tránh sử dụng -1.


1

Than , 9 byte

I⮌ENX⁻θιι

Hãy thử trực tuyến! Liên kết là phiên bản dài dòng của mã. Giải trình:

   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


Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.