pengantar
Mari kita ambil nomornya 180
. Ini adalah angka yang menarik karena jumlah digit dari angka ini sama dengan:
1 + 8 + 0 = 9
Dan versi kuadrat dari nomor ini, atau:
180² = 32400 > 3 + 2 + 4 + 0 + 0 = 9
Keduanya 9 . Jumlah digit angka asli dan angka kuadrat sama. Tentu saja, ini juga ditemukan di OEIS: A058369 .
Tugas
Dengan bilangan bulat non-negatif n
, n
berikan angka positif th dengan kondisi ini.
Kasus uji ( diindeks nol )
Input > Output
0 > 1
1 > 9
2 > 10
3 > 18
4 > 19
5 > 45
6 > 46
7 > 55
8 > 90
9 > 99
10 > 100
11 > 145
12 > 180
13 > 189
14 > 190
15 > 198
16 > 199
17 > 289
18 > 351
19 > 361
Input juga dapat diindeks 1 jika cocok untuk Anda.
Ini adalah kode-golf , jadi pengiriman dengan jumlah byte paling sedikit menang!
^₂;?{ẹ+}ᵛ
Jawaban:
Jelly, 13 byte
Input diindeks 1. Cobalah online!
Bagaimana itu bekerja
sumber
Haskell, 54 byte
Contoh penggunaan:
([x|x<-[1..],s x==s(x^2)]!!) 17
->289
.sumber
JavaScript (ES6),
76 7372 byteSaya menghabiskan 30 menit untuk mencoba ini sampai saya menyadari bahwa saya mengeluarkan variabel yang salah: |
Ini adalah indeks-nol.
sumber
Perl 6,
4746 bytesumber
05AB1E ,
1098 byte1-diindeks.
-1 byte terima kasih kepada @Emigna dengan menghapus implisit
½
(naikkancounter_variable
setelah setiap iterasi) di akhir-1 byte terima kasih kepada @Grimy menghapus duplikat
SO
dengan menggunakan‚1ö
Cobalah online.
Penjelasan:
sumber
½
sini karena tersiratµNDn‚1öË
.1ö
sepertiSO
tetapi vektorisasi, yang memungkinkan kita menghindari duplikasi kode.Mathematica, 64 byte
Fungsi anonim sederhana. Diindeks nol.
sumber
Pyth, 15
1 byte berkat DenkerAffe!
Cobalah di sini atau jalankan Test Suite .
Menggunakan opsi 1-diindeks.
Menggunakan implementasi naif
.f
yang mendapatkann
angka pertama yang cocok dengan kondisi yang diberikan.sumber
h
jika Anda menggunakan pengindeksan 1 yang secara eksplisit diizinkan.MATL ,
2423 byteMenggunakan input berbasis 1.
Cobalah online!
sumber
Julia,
7966 byteIni adalah fungsi rekursif yang menerima integer dan mengembalikan integer. Ini menggunakan pengindeksan berbasis 1.
Kami menyimpan beberapa hal sebagai argumen fungsi:
n
: Masukanx
: Penghitung berapa banyak angka dengan kondisi ini yang kami temukani
: Nomor untuk memeriksa kondisis
: Suatu fungsi untuk menghitung jumlah digit dari inputnyaMeskipun
x
kurang dari input, kami berulang, bertambahx
jikai
memenuhi kondisi dan bertambahi
. Sekalix == n
, kita kembalii
, tetapi kita harus mengurangi 1 karena itu akan bertambah satu kali terlalu banyak.sumber
Cembung 0,2,
3635 byteConvex adalah bahasa baru yang saya kembangkan yang sangat didasarkan pada CJam dan Golfscript. Interpreter dan IDE dapat ditemukan di sini . Input adalah bilangan bulat ke argumen baris perintah. Indeks berbasis satu. Menggunakan pengkodean CP-1252 .
sumber
Mathematica,
63606159 byteSambil membuat ini, jawaban yang lain muncul tetapi saya mengalahkan mereka dengan satu byte dan saya memposting ini sebelum yang satu mendapatkan golf.Satu diindeks.sumber
>2457
. Cukup meningkatkan AndaRange
tidak akan membantu, karenaA058369[n]/n
tampaknya tidak bertemu.10^#
akan lebih pendek dari2^#*9
. Tentu saja menjadi terlalu lambat setelah n lebih besar dari sekitar 6 ...9^#
? FilRetina, 103 byte
Jelas golf.
Menggunakan fitur Retina baru
%
untuk mengkuadratkan (karenanya belum berfungsi dengan versi online).sumber
Mathcad,
7050 byteMathcad tidak memiliki fungsi bawaan untuk mengonversi angka menjadi string digitnya, sehingga fungsi pengguna d (a) melakukan pekerjaan ini. Suatu program kemudian beralih melalui bilangan bulat positif, menguji kesetaraan jumlah, sampai ia mengakumulasikan n angka dalam vektor v. Program ini dievaluasi menggunakan operator =, yang menampilkan vektor hasil. ( Perhatikan bahwa seluruh program muncul persis seperti yang ditampilkan di bawah ini pada lembar kerja Mathcad )
Program yang diperbarui: Mengasumsikan inisialisasi default a ke nol dan memanfaatkan fakta bahwa Mathcad mengembalikan nilai pernyataan yang terakhir dievaluasi dalam suatu program.
Membuat penggunaan urutan evaluasi ekspresi ke variabel kenaikan dalam penjumlahan pertama (dan yang kemudian tersedia untuk digunakan dalam jumlah kuadrat)
Program asli: Mengembalikan vektor semua angka hingga n.
sumber
Japt , 15 byte
1-diindeks
Cobalah
sumber
Java 8, 113 byte
Diindeks 0
Penjelasan:
Cobalah online.
sumber
Perl 5
-p
, 53 byteTermasuk
+1
untuk-p
1 berbasis
Cobalah online!
sumber
TI-BASIC
6662 byteAns
Fungsi helper menghasilkan jumlah digit nilai dalam
Ans
.Contoh:
Penjelasan:
Catatan: TI-BASIC adalah bahasa tokenized. Jumlah karakter tidak sama dengan jumlah byte.
sumber
J , 62 byte
Cobalah online!
1 diindeks. Sekali lagi saya tidak berkinerja baik pada tugas-tugas "nth of" ini, karena mekanisme pembukuan yang berlebihan.
sumber
APL (NARS), 49 karakter, 98 byte
1-diindeks, uji:
sumber
MathGolf , 10 byte
Cobalah online!
Penjelasan
ú
sumber