Bilangan bulat yang diberikan n
, menghasilkan eksponen terkecil yang e
lebih besar dari 1 sehingga n^e
berisi n
sebagai substring.
Misalnya, untuk 25
, jawabannya harus 2
, seperti 25 ^ 2 = 625
, yang berisi 25
sebagai substring, tetapi jawaban untuk 13
harus 10
, seperti 13 ^ 10 = 137858491849
, jadi 10
adalah eksponen terendah yang hasilnya berisi 13
sebagai substring.
Aturan
- Aturan I / O standar
- Celah standar berlaku
- Kode terpendek dalam byte menang
n
akan selalu menjadi bilangan bulat yang lebih besar dari0
Uji Kasus
1 => 2 (1 ^ 2 = 1)
2 => 5 (2 ^ 5 = 32)
3 => 5 (3 ^ 5 = 243)
4 => 3 (4 ^ 3 = 64)
5 => 2 (5 ^ 2 = 25)
6 => 2 (6 ^ 2 = 36)
7 => 5 (7 ^ 5 = 16807)
8 => 5 (8 ^ 5 = 32768)
9 => 3 (9 ^ 3 = 729)
10 => 2 (10 ^ 2 = 100)
11 => 11 (11 ^ 11 = 285311670611)
12 => 14 (12 ^ 14 = 1283918464548864)
13 => 10 (13 ^ 10 = 137858491849)
14 => 8 (14 ^ 8 = 1475789056)
15 => 26 (15 ^ 26 = 3787675244106352329254150390625)
16 => 6 (16 ^ 6 = 16777216)
17 => 17 (17 ^ 17 = 827240261886336764177)
18 => 5 (18 ^ 5 = 1889568)
19 => 11 (19 ^ 11 = 116490258898219)
20 => 5 (20 ^ 5 = 3200000)
25 => 2 (25 ^ 2 = 625)
30 => 5 (30 ^ 5 = 24300000)
35 => 10 (35 ^ 10 = 2758547353515625)
40 => 3 (40 ^ 3 = 64000)
45 => 5 (45 ^ 5 = 184528125)
50 => 2 (50 ^ 2 = 2500)
55 => 11 (55 ^ 11 = 13931233916552734375)
60 => 2 (60 ^ 2 = 3600)
65 => 17 (65 ^ 17 = 6599743590836592050933837890625)
70 => 5 (70 ^ 5 = 1680700000)
75 => 3 (75 ^ 3 = 421875)
80 => 5 (80 ^ 5 = 3276800000)
85 => 22 (85 ^ 22 = 2800376120856162211833149645328521728515625)
90 => 3 (90 ^ 3 = 729000)
95 => 13 (95 ^ 13 = 51334208327950511474609375)
100 => 2 (100 ^ 2 = 10000)
Skrip python untuk menghasilkan 1000 jawaban pertama
Jawaban:
Perl 6 , 31 byte
Cobalah online!
sumber
R ,
6944 byteFungsi anonim. Bekerja pada ukuran besar
i
ketikan
dikonversi ke BigZ (lihat TIO). Terima kasih telah mengajari saya sesuatu Giuseppe dan digEmAll!Cobalah online!
sumber
n, ?n^i
danpaste
mengubahnyacharacter
secara default :-)i
harus memadai.i
ke bigZ jugaPython 2 ,
4241 byte-1 byte terima kasih kepada Ørjan Johansen (kembali
y
langsung)Cobalah online!
Penjelasan / Tidak Diundang
Fungsi rekursif mencoba dari2,3… hingga kami berhasil:
Cobalah online!
sumber
JavaScript (ES6 / Node.js),
4140 byteDisimpan 1 byte berkat @Shaggy
Mengambil input sebagai Angka (berfungsi untukn<15 ) atau literal BigInt .
Cobalah online!
sumber
n=>(g=x=>
$ {x * = n}.match(n)?2n:-~g(x))(n)
APL (Dyalog Unicode) ,
252317 byte-2 byte terima kasih kepada @Erik the Outgolfer
-6 byte terima kasih kepada @ngn
terima kasih kepada @ H.PWiz untuk membuat kode tidak memerlukan custom
⎕pp
(ketepatan cetak)Cobalah online!
sumber
17
pada 17 ^ 14 = 1.6837782655940093E17, tetapi idk untuk jawaban presisi apa yang harus didukung⎕PP
saya kiraPyth , 9 byte
Cobalah online!
sumber
Brachylog , 8 byte
Cobalah online!
Penjelasan
sumber
05AB1E , 7 byte
Cobalah online!
Penjelasan:
sumber
SAS,
7166 byteSunting: Dihapus
;run;
pada akhirnya, karena tersirat pada akhir input.Input data dimasukkan setelah
cards;
pernyataan, seperti:Menghasilkan dataset yang
a
berisi inputn
dan outpute
.sumber
%p(n)
) benar-benar baik-baik saja, namun output tergantung pada apakahmacro
s di SAS dapat mengembalikan nilai. Jika mereka dapat kembali, "output" harus dengan mengembalikan hasilnya, jika tidak maka output dengan metode standar apa pun yang didukungJelly , 7 byte
Cobalah online!
sumber
Bersihkan , 99 byte
Cobalah online!
Jika tidak perlu bekerja untuk jumlah besar raksasa, maka
Bersih , 64 byte
Cobalah online!
sumber
Java (OpenJDK 8) , 84 byte
Mengambil input sebagai String yang mewakili angka dan menghasilkan int.
Sebagian besar byte berasal dari verbositas
BigDecimal
yang diperlukan untuk memproses angka-angka besar.Cobalah online!
Bagaimana itu bekerja
Ini cukup sederhana tetapi saya akan menyertakan penjelasan untuk anak cucu;
sumber
Ruby , 37 byte
Cobalah online!
sumber
Japt, 10 byte
Cobalah
sumber
JavaScript (Node.js) , 45 byte
Test case diambil dari jawaban @ Arnauld
Cobalah online!
sumber
Arang , 19 byte
Cobalah online! Tautan adalah untuk mengucapkan versi kode. Penjelasan:
Ulangi sampai panjang daftar paling sedikit 2 dan produknya mengandung input ...
... masukkan input ke integer dan dorong ke daftar.
Keluarkan panjang daftar ke string dan cetak secara implisit.
sumber
Python 3 ,
6358 byteCobalah online!
Python2 mungkin akan lebih pendek, tapi saya suka menggunakan 3. Datang dengan lambda itu sulit, tapi saya mencoba beberapa hal.
sumber
while
di lambda. Mungkin saya dapat mencoba beberapa cara lain ..e
dalam argumen-daftar (mis.def f(n,e=2)
) Dann**e
harus menyimpan beberapa byte, Python 2 memang akan menyimpan beberapa byte.for
atauwhile
tidak berfungsi.MathGolf , 10 byte
Cobalah online!
Penjelasan
Ini terasa sangat boros, harus membaca input secara eksplisit dua kali, harus menambah penghitung loop dua kali.
sumber
Ruby , 41 byte
Cobalah online!
sumber
C # (.NET Core) ,
10489 byteCobalah online!
-1 byte: diubah untuk loop menjadi while (terima kasih kepada Skidsdev )
-14 byte: penyalahgunaan string aneh C # untuk menghapus
ToString()
panggilanPerlu menggunakan pustaka BigInteger C # , karena tipe C # numerik standar (int, dobel, panjang, ulong, dll.) Gagal untuk beberapa angka yang lebih besar (termasuk 12, 15, dan 17).
Tidak Disatukan:
sumber
Python 2 , 47 byte
Cobalah online!
Terinspirasi oleh solusi @ Gigaflop .
sumber
Tcl , 69
81byteCobalah online!
sumber
PowerShell(V3+), 67 bytes
sumber
Common Lisp, 78 bytes
Try it online!
sumber
J, 26 bytes
Try it online!
NOTE: I've changed the final
]
tox:
in the TIO, to make the tests pass for larger integers.sumber
Oracle SQL, 68 bytes
There is an assumption that source number is stored in a table
t(x)
, e.g.Test in SQL*Plus
sumber