Число - Расстояние Левенштейна И Оэис (Грабители)

  • Автор темы Adrew
  • Обновлено
  • 22, Oct 2024
  • #1

Это пост Разбойника. Пост полицейского здесь.


Ваша задача — принять целочисленный ввод Н и выведите N-й цифра в последовательности ОЭИС A002942.

Последовательность состоит из квадратных чисел, записанных задом наперед:

 
 
 N = 5,      ==> 1
N = 17,     ==> 1   <- Important test case! It's not zero.
N = 20,     ==> 4
N = 78,     ==> 0
N = 100,    ==> 4
N = 274164, ==> 1
 

Обратите внимание, что ведущие нули обрезаются (100 становится 1, нет 001). Объединение этого в строку (или одно длинное число дает):

1496152639446181121441

Вы должны вывести N-й цифра в этой строке/числе. Вы можете принять решение взять Н с индексом 0 или с индексом 1 (пожалуйста, укажите, какой из них вы выберете).

Тестовые случаи (1-индексированные):

1, 4, 9, 61, 52, 63, 94, 46, 18, 1, 121, 441, ...

Ваш код должен работать для чисел до Н = 2^15 (если ваш язык по умолчанию не поддерживает 32-битные целые числа, в этом случае Н может быть ниже).


Грабители:

Тебе следует попытаться взломать посты копов.

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

Вы можете проверьте расстояние Левенштейна здесь!

Победителем станет грабитель, взломавший наибольшее количество столбов.

#номер #последовательность #полицейские и грабители

Adrew


Рег
17 Sep, 2006

Тем
65

Постов
190

Баллов
515
  • 26, Oct 2024
  • #2

Хаскелл, Лайкони

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 00 C0 20 FD AE A0 00 99 5B 00 C8 20 73 00 90 F7 99 5B 00 A2 0B CA 98 88 30 09
B9 5B 00 29 0F 95 5B 10 F2 95 5B CA 10 FB A0 20 A2 76 18 B5 E6 90 02 09 10 4A
95 E6 E8 10 F4 A2 03 76 69 CA 10 FB 88 F0 11 A2 09 B5 5C C9 08 30 04 EB 03 95
5C CA 10 F3 30 D6 A2 03 B5 69 95 57 CA 10 F9 A9 01 85 FB A2 03 A9 00 95 FB CA
D0 FB A2 03 B5 FB 95 22 95 26 CA 10 F7 A9 00 A2 03 95 69 CA 10 FB A0 20 A2 02
46 25 76 22 CA 10 FB 90 0C A2 7C 18 B5 AA 75 ED 95 ED E8 10 F7 A2 7D 06 26 36
AA E8 10 FB 88 10 DD A2 0B A9 00 95 5A CA D0 FB A0 20 A2 09 B5 5C C9 05 30 04
69 02 95 5C CA 10 F3 06 69 A2 FD 36 6D E8 D0 FB A2 09 B5 5C 2A C9 10 29 0F 95
5C CA 10 F4 88 D0 D7 E8 B5 5B F0 FB 09 30 99 5B 00 C8 E8 E0 0B F0 04 B5 5B 90
F1 88 B9 5B 00 C9 30 F0 F8 A2 7C 18 B5 DB E9 00 95 DB E8 10 F7 90 14 88 30 05
B9 5B 00 D0 EA A2 7C F6 7F D0 03 E8 10 F9 4C 68 C0 B9 5B 00 4C D2 FF
 

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

<?for($j++;strlen($p)<$argv[1];$j++)$p.=(int)strrev($j**2);echo($p[$argv[1]+2-3]); was necessary for type checking.

 

Maxim7755


Рег
09 Jan, 2012

Тем
76

Постов
208

Баллов
598
  • 26, Oct 2024
  • #4

NEK999


Рег
30 Aug, 2013

Тем
67

Постов
189

Баллов
544
  • 26, Oct 2024
  • #5

6502 Машинный код (С64), Феликс Пальмен

Я протестировал это со всеми тестовыми примерами вопросов и множеством дополнений (например, 2 ^ 15... это заняло некоторое время), и, похоже, оно работает так же, как оригинал с LD = 1.

a$j.=int reverse$_**2for 1..$_;$_--;say$j=~s/.{$_}(.).*/$1/r

Онлайн демо, использование: sys49152,n, где n — входные данные с индексом 0.

 

EnemohedEmago7


Рег
11 May, 2011

Тем
72

Постов
185

Баллов
565
  • 26, Oct 2024
  • #8

Питон 2, Дилнан

i=1s=""while(#s<...+0)do s=s..((i*i)..""):reverse():gsub("(0+)(%d+)$","%2")i=i+1 end print(s:sub(...,...))

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

Примечание: это представление полицейского содержало ошибку и не работало для входных данных ниже 5. Пока я работал над этим, я создал это решение, которое имеет правильное расстояние Левенштейна И исправляет ошибку.

 

Amalsenda12


Рег
25 Oct, 2024

Тем
66

Постов
216

Баллов
546
  • 26, Oct 2024
  • #9

Perl 5, (-p) Искали

Обновлено после комментария, Левенштейн Расстояние между

00 C0 20 FD AE A0 00 99 5B 00 C8 20 73 00 90 F7 99 5B 00 A2 0B CA 88 30 09 B9 5B 00 29 0F 95 5B 10 F3 A9 00 95 5B CA 10 F9 A9 01 A0 03 99 69 00 88 10 FA A0 20 A2 76 18 B5 E6 90 02 09 10 4A 95 E6 E8 10 F4 A2 03 76 69 CA 10 FB 88 F0 11 A2 09 B5 5C C9 08 30 04 E9 03 95 5C CA 10 F3 30 D6 A2 03 B5 69 95 57 CA 10 F9 A9 01 85 FB A2 03 A9 00 95 FB CA D0 FB A2 03 B5 FB 95 22 95 26 CA 10 F7 A9 00 A2 03 95 69 CA 10 FB A0 20 A2 02 46 25 76 22 CA 10 FB 90 0C A2 7C 18 B5 AA 75 ED 95 ED E8 10 F7 A2 7D 06 26 36 AA E8 10 FB 88 10 DD A0 0B A9 00 99 5A 00 88 D0 FA A0 20 A2 09 B5 5C C9 05 30 04 69 02 95 5C CA 10 F3 06 69 A2 FD 36 6D E8 D0 FB A2 09 B5 5C 2A C9 10 29 0F 95 5C CA 10 F4 88 D0 D7 E0 0A F0 05 E8 B5 5B F0 F7 09 30 99 5B 00 C8 E8 E0 0B F0 04 B5 5B 90 F1 88 B9 5B 00 C9 30 F0 F8 A2 7C 18 B5 DB E9 00 95 DB E8 10 F7 90 14 88 30 05 B9 5B 00 D0 EA A2 7C F6 7F D0 03 E8 10 F9 4C 73 C0 B9 5B 00 4C D2 FF

и

(Join@@IntegerDigits@IntegerReverse[Range@#^2])[[1#]]&

55 лет

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

 

Nik_newk


Рег
17 Apr, 2009

Тем
70

Постов
202

Баллов
582
  • 26, Oct 2024
  • #10

Ява 8, Кевин Круйссен

(Join@@Table[k@FromDigits@Reverse@(k=IntegerDigits)[i*i],{i,10^4}])[[#]]&

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

Журнал изменений

  • Заменено * with ":\r$$ .
  • Убран тест на идеальные квадраты. Теперь напрямую используем идеальные квадраты.
  • Имена всех переменных обновлены до верхнего регистра.
  • Перепишите неравенства.
  • И, наконец, добавлен 21-байтовый ведущий комментарий для достижения правильного LD.
 

Petr3000


Рег
31 Jan, 2011

Тем
75

Постов
198

Баллов
613
  • 26, Oct 2024
  • #11

Октава, Стьюи Гриффин

/*ZZ*/m=>[...Array(m+1).keys()].map(eval(atob("eD0+K1suLi4iIit4KnhdLnJldmVyc2VgYC5qb2luYGA="))).join``[m]

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

На самом деле я пытался найти свой собственный ответ Octave и заметил существующий. Моя уже была значительно короче, поэтому добавления комментария в конце было достаточно, чтобы добраться до необходимого расстояния 63.

 

Solarismvl


Рег
27 Jun, 2013

Тем
70

Постов
196

Баллов
566
  • 26, Oct 2024
  • #13

6502 Машинный код (С64), Феликс Пальмен

Это также может быть «простая» трещина, но это появляется работать как оригинал.
Имея LD = 1, очень заманчиво попытаться взломать его (извини, Феликс). :)

((show.(*1).read.reverse.show.(^2)=<<[1..])!!)

Онлайн демо, использование: sys49152,n, где n — входные данные с индексом 0.

 

Ctacebu4


Рег
20 Jul, 2007

Тем
75

Постов
197

Баллов
602