入力が与えられると、基数とべき乗が入力に加算されるすべての指数を出力します


20

これがこのサイトでの私の最初の挑戦です。

課題は、正の入力整数nを取り込み、昇順(1から、を含む)で(は現在の整数)の出力を出力することです。 ni(ni)

入力5が与えられると、プログラムは以下を印刷します。

1  
8  
9  
4  
1  

14は1およびは8およびは9およびは4およびは1および1+4=5
232+3=5
323+2=5
414+1=5
505+0=5

入出力

入力は正の整数の形式になります。出力は、コンマまたは改行で区切られた数字のリストになります。

これはなので、最短のコードが優先されます。


5
カンマ/改行の詳細は省略しなければならない、それは通常の練習は、リストの出力は、任意の便利な形式である関数によって返されたリスト/配列オブジェクトとして含むようにする辺りである
SPARR

3
入力は常に0より大きいか、0と負の値を処理する必要がありますか?
ヴェスカ

入力は常に正になります
無知の

6
2つの短い回答は関係ありません。回答を受け入れたい場合は、最も早い投稿を選択してください。ただし、少なくとも数日待つことを強くお勧めします。また、回答を受け入れないことをお勧めします(より多くの提出を促すため)。
Οurous

2
タイトルは「整数を指定すると、入力合計される底と指数で得られたすべての累乗を出力します」ではないでしょうか?
ニコラ・サップ

回答:


6

APL(Dyalog Unicode)8 5バイト

⍳*⊢-⍳

オンラインでお試しください!

匿名プレフィックス暗黙関数。範囲[1..10]のTIOテスト。

@lirtosiastに3バイトをありがとう。

どうやって:

⍳*⊢-⍳  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は、なぜそれが機能するのかを理解するのにしばらくかかりましたが、私はそれを理解しました。ありがとう。
J.サレ




5

アヒーウイ(エソトープ)193 164バイト(56文字)

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

オンラインでお試しください!

AVIS韓国語)で試してください。上記のコードをコピーして貼り付け、スタートボタンを押し、数字を入力して、その動きを確認してください。出力を表示するには、左側の> _アイコンを押します。


それはあまりゴルフではありませんが、私はそれにショットを与えます。


各文字が2バイトで保存されるように、文字セットを選択することは可能ですか?
tsh

@tsh Aheui仕様によれば、AheuiコードはUTF-8文字のみで構成されています。
-cobaltp











2

網膜、35バイト

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

オンラインでお試しください!説明:

.+
*

入力を単項に変換します。

_

各位置に一致します。これにより、いくつかの置換変数が設定されます。$`試合の左側になります。$>`これを左および一致するように変更します。$.>`これを変更して、長さ、つまり現在のインデックスを取得します。$'一方、一致の右側、$.'つまり長さ、つまり現在の指数です。

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

文字列を作成$.(プラス$.'の繰り返しを$.>`*プラス_。たとえば、元の入力が5でインデックスが2の場合、$.'3 $.>`は2なので、結果の文字列はになります$.(2*2*2*_。これは、2³を計算するRetina置換式です。各文字列は、独自の行に出力されます。

%~`^
.+¶

前のステージで生成された各行について、行に接頭辞.+を付けて置換ステージに変換し、そのステージを評価して式を計算します。


2

QBasic、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
ニール・

@ニールありがとう、私はそれを働いてきました!
-steenbergh




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

Java、59バイト

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

1
PPCGへようこそ。これには、事前定義された変数aに「入力」を割り当てる必要がありますが、許可されていません。
シャギー

2
こんにちは、ここにあなたのための修正があります:n->{for(int i=0;i++<n;)System.out.println(Math.pow(i,n-i));} 60バイト(リンク内のコードとテストケース)
オリヴィエグレゴワール



1

05AB1E、5 バイト

LD<Rm

@lirtosiastのJelly回答のポート。

オンラインでお試しください。

説明:

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)

かなり自明です。そのノート:オペレータがより高い優先湯順位である-ように、オペレータ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.