При заданном входе выведите все показатели, где основание и мощность суммируются с входом.


20

Так что это мой первый вызов на этом сайте.

Задача состоит в том, чтобы взять входное целое число n , которое будет положительным, и вывести в порядке возрастания (от 1 до n , включая n ) вывод i(ni) (где i - текущее целое число).

пример

Учитывая ввод 5, программа напечатает:

1  
8  
9  
4  
1  

14 равно 1,1+4=5
23 равно 8 и2+3=5
32 равно 9, а3+2=5
41 равно 4 и4+1=5
50 равно 1 и5+0=5

Вход и выход

Ввод будет в виде положительного целого числа. Выводом будет список чисел, разделенных запятыми или новыми строками.

Это , поэтому выигрывает самый короткий код.


5
детали запятой / новой строки должны быть опущены, здесь обычно разрешается выводить списки в любом удобном формате, в том числе в виде объекта списка / массива, возвращаемого функцией
Sparr

3
Вход всегда больше 0 или нам приходится иметь дело с 0 и отрицаниями?
Веска

Входные данные всегда будут положительными
Воплощение Невежества

6
Два одинаково коротких ответа не имеют значения. Если вы хотите принять ответ, выберите самый ранний опубликованный ответ. Тем не менее, я настоятельно рекомендую подождать не менее нескольких дней и рекомендовать никогда не принимать ответ (чтобы поощрять больше заявок).
18:00

2
Не должен ли заголовок быть «дан целом числе вывести все полученные степени с базой и показателем, суммирующим с входом»?
Никола Сап

Ответы:


6

APL (Dyalog Unicode) , 8 5 байт

⍳*⊢-⍳

Попробуйте онлайн!

Анонимный префикс неявной функции. TIO тесты для диапазона [1..10].

Спасибо @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

@lirtosiast мне понадобилось время, чтобы понять, почему это работает, но я понял. Благодарю.
J. Sallé




5

Aheui (эзотоп) , 193 164 байта (56 символов)

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

Попробуйте онлайн!

Попробуйте это на AVIS ( корейский ); просто скопируйте и вставьте код выше, нажмите кнопку «Пуск», введите число, посмотрите, как он движется. Чтобы увидеть результат, нажмите значок > _ слева.


Это не много в гольфе, но я даю ему шанс.


Можно ли выбрать набор символов, чтобы каждый символ сохранялся в 2 байтах?
ч. В

@tsh Согласно спецификации Aheui, код Aheui состоит только из символов UTF-8.
кобальт











2

Сетчатка , 35 байт

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

Попробуйте онлайн! Объяснение:

.+
*

Преобразовать ввод в унарный.

_

Подходим каждую позицию. Это тогда устанавливает несколько переменных замены. $`становится левым от матча; $>`изменяет это, чтобы быть левым и соответствовать; $.>`изменяет это, чтобы взять длину, то есть текущий индекс. $'Между тем это право на совпадение, так же $.'как и длина, то есть текущий показатель.

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

Создайте строку $.(плюс $.'повторения $.>`*плюс _. Например, для индекса 2 в исходном вводе 5 $.'- 3, а $.>`2 - итоговая строка $.(2*2*2*_. Это удобно - выражение замены сетчатки, которое вычисляет 2³. Каждая строка выводится на отдельной строке.

%~`^
.+¶

Для каждой строки, сгенерированной предыдущим этапом, добавьте .+к ней префикс строки , превратив ее в этап замены, и оцените этот этап, вычислив, таким образом, выражение.


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)
Нил

@Neil Спасибо, я работал над этим!
Стинберг




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

Чисто , 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 's 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.




Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.