Definisi
- Bilangan aljabar adalah bilangan yang merupakan nol dari polinomial non-nol dengan koefisien integer. Misalnya, akar kuadrat dari
2
adalah aljabar, karena itu adalah nolx^2 - 2
. - Bilangan transendental adalah bilangan real yang bukan aljabar.
Tugas
Anda harus memilih nomor transendental.
Kemudian, tulis program / fungsi yang mengambil bilangan bulat positif n
dan n
hasilkan angka desimal ke- setelah titik desimal dari nomor transendental yang Anda pilih. Anda harus menyatakan dengan jelas dalam kiriman Anda, nomor transendental mana yang digunakan.
Anda dapat menggunakan pengindeksan 0 atau pengindeksan 1.
Contoh
e^2=7.389056098...
adalah angka transendental. Untuk nomor ini:
n output
1 3
2 8
3 9
4 0
5 5
6 6
7 0
8 9
9 8
...
Perhatikan bahwa inisial 7
diabaikan.
Seperti yang saya sebutkan di atas, Anda dapat memilih nomor transendental lainnya.
Mencetak gol
Ini adalah kode-golf . Skor terendah dalam byte menang.
Jawaban:
Python , 3 byte
Cobalah online!
Mengambil string angka, menampilkan digit terkecilnya sebagai karakter terkecil. Misalnya,
254
memberi2
. Desimal dengan digit ini dimulaiIni adalah OEIS A054054 .
Klaim: Nomor ini
c
bersifat transendentalBukti: Catatan yang
c
sangat jarang: hampir semua digitnya nol. Itu karena besarn
, ada probabilitas tinggin
memiliki nol digit, memberikan digit nol. Selain itu,c
memiliki jangka panjang nol berturut-turut. Kami menggunakan hasil yang ada yang menyatakan bahwa ini berartic
bersifat transendental.Mengikuti pertanyaan math.SE ini , mari kita
Z(k)
mewakili posisik
digit bukan nol daric
, dan maric_k
menjadi digit bukan nol itu, seluruh angka antara1
dan9
. Kemudian, kita mengungkapkan ekspansi desimalc
, tetapi hanya mengambil nol digit, sebagai sebagai jumlah lebihk=1,2,3,...
daric_k/10^Z(k)
.Kami menggunakan hasil dari poin 4 dari jawaban ini oleh George Lowther: yaitu
c
transendental jika ada banyak sekali angka nol yang setidaknya merupakan fraksi konstan dari jumlah digit sejauh ini. Secara formal, harus adaε>0
sehinggaZ(k+1)/Z(k) > 1+ε
untuk banyak orangk
. Kami akan gunakanε=1/9
Untuk setiap jumlah digit
d
, mengambilk
denganZ(k) = 99...99
dengand
sembilan. Sepertik
ada karena digit inic
adalah a9
, dan bukan nol. Menghitung dari99...99
, angka-angka ini semua mengandung angka nol, jadi ini menandai dimulainya nol dalam jangka panjangc
. Digit bukan nol berikutnya tidak sampaiZ(k+1) = 1111...11
dengan yangd+1
satu. RasioZ(k+1)/Z(k)
sedikit melebihi1+1/9
.Ini memenuhi syarat untuk setiap
d
, menyiratkan hasilnya.sumber
min
itu sendiri tidak mengambil input apa pun dan tidak memberikan output apa pun, sesuatu yang tampaknya menjadi persyaratan oleh pertanyaan itu. Tentu, ini adalah fungsi kunci secara keseluruhan, tetapi tidak melakukan apa-apa tanpa generator dan pernyataan cetak yang terlihat di 'Coba online'.Pyth, 1 byte
Input dan output adalah string. Fungsi ini mengambil digit pertama dari indeks. Angka transendental yang dihasilkan terlihat seperti:
0.0123456789111111111122222222223 ...
Ini transendental karena memang demikian
1/9
ditambah bilangan yang memiliki panjang nol nol setidaknya sebagian kecil dari bilangan itu. Berdasarkan jawaban math.stackexchange ini , itu berarti bahwa jumlahnya adalah transendental.Ada rentang nol dari digit
100 ... 000
ke199 ... 999
, jadi rasioZ(k+1)
toZ(k)
adalah 2 tak terhingga sering.Dengan demikian, angka di atas minus
1/9
adalah transendental, sehingga angka di atas adalah transendental.sumber
Python 2 , 19 byte
The n th digit adalah 1 jika n adalah kekuatan 2 dan 0 sebaliknya.
Cobalah online!
sumber
n&~-n>0
lebih pendek dengan cara.brainfuck, 2 byte
Demikian pula untuk beberapa jawaban lain, kembalikan digit desimal pertama dan abaikan sisanya.
sumber
Jelly , 3 byte
Menggunakan konstanta Liouville.
Cobalah online!
sumber
Retina, 4 byte
Mengembalikan digit pertama dari nomor input. Karena port itu sangat membosankan, berikut adalah beberapa port lagi:
(8 byte) Mengembalikan digit minimum dari nomor input.
(25 byte) Mengembalikan 1 jika nomor input adalah kekuatan 2.
(30 byte) Konstanta Champernowne.
sumber
Brachylog 2, 7 byte
Cobalah online!
Menghitung digit dari konstan Champernowne (mungkin kali kekuatan sepuluh karena masalah pengindeksan, yang jelas tidak masalah di sini). Pada dasarnya, ini hanya menyatukan bilangan bulat, dan kemudian mengambil digit ke - n .
sumber
⟦₁
?0123
bukan angka (angka nol di depannya, yang tidak sesuai dengan konsep Brachylog tentang apa angka itu).Python 2, 13 byte
Input dan output adalah string.
Digit n angka adalah digit n yang paling signifikan ketika ditulis dalam desimal.
sumber
MATL , 7 byte
Ini menggunakan yang pertama dari dua angka yang diberikan di sini dibagi dengan 3 (yang mempertahankan transendensi ):
Input berbasis 1. Cobalah online! Atau lihat 20 desimal pertama .
Penjelasan
sumber
JavaScript, 51 byte
Fungsi ini menghitung
n
digit Konstan Champernowne. Tambahkanf=
di awal dan aktifkan likef(arg)
. Perhatikan bahwan
1-diindeks.Penjelasan
Fungsi ini mengambil satu argumen
n
. Ini, kemudian, menciptakann
String karakter-panjang 1s berulang. Kemudian, ia membagi String itu menjadi Array 1s. Setelah itu, ia mengulangi setiap elemen dari Array dan mengalikannya dengan indeks mereka di dalam Array yang bertambah dengan 1. Kemudian, ia menggabungkan Array bersama-sama di atas""
(String kosong) untuk membentuk sebuah String. Akhirnya, mengembalikann
elemen th dari String yang diperoleh.Catatan: Jenis nilai yang dikembalikan selalu berupa String .
Cuplikan Tes
sumber
Python 2, 43 byte
Konstanta Champernowne.
sumber
n+1
?APL (Dyalog) , 3 byte
Cobalah online! (ruang tes menghasilkan kisaran angka dari
1
hingga10000
, mengubahnya menjadi string, dan kemudian menerapkan kereta2|⍴
pada mereka).Mengambil nomor input sebagai string dan mengembalikan mod panjangnya 2. Jadi
123
=>3 mod 2
=>1
.Urutannya dimulai seperti ini:
jadi ini bisa digeneralisasi seperti:
9 1s 90 0s 900 1s ...
Mengalikan angka ini dengan 9 memberi kita angka Liouville , yang terbukti transendental.
sumber
1 - 10^-9 + 10^-99 - 10^-999 + 10^-9999 - 10^-99999 + ...
, jadi ini adalah nomor Liouville.Haskell,
25 byte17 byteKonstan Champernowne bisa 0 atau 1 diindeks karena C10 * .01 masih transendental.
Sunting: sesuai komentar nimis, Anda dapat menggunakan daftar monad untuk mengurangi ini
sumber
=<<
dari daftar monad adalahconcat.map
:(!!)$show=<<[1..]
.JavaScript, 73 byte
Ini adalah program yang menghitung
n
digit ke-5 dari Konstanta Liouville, di manan
adalah nomor input yang diberikan dengan memanggil fungsig
sebagaig(arg)
(dann
diindeks 1). Perhatikan bahwa baris baru dalam kode diperlukan.Penjelasan
Program ini terdiri dari dua fungsi,
f
dang
.f
adalah fungsi komputasi faktorial rekursif, dang
merupakan fungsi utama program.g
mengasumsikan memiliki argumen tunggaln
. Ini mendefinisikan argumen defaultr
dengan nilai 0. Ini, kemudian, iterates atas semua Integer dari 0 hinggan
, dan, dalam setiap iterasi, memeriksa apakah fungsi yangf
diterapkan lebih darii
(indeks saat ini) sama dengann
, yaitu apakahn
merupakan faktorial darii
. Jika itu yang terjadi,r
nilainya diatur ke 1. Di akhir fungsi,r
dikembalikan.Cuplikan untuk Pengujian
Peringatan: Jangan menaruh nilai yang sangat besar di kotak input Snippet! Jika tidak, perangkat Anda dapat membeku!
sumber
Pyth,
754 byteCobalah online!
Menggunakan konstanta Champernowne.
Disimpan
23 byte berkat Leaky Nun.sumber
jk
untuk menggantism`d
, saya percaya.S
bukanUh
?S
mulai dengan1
danU
mulai dengan0
.Java 8, 18 byte
Sama seperti jawaban Dennis untuk Python 2 , angka Fredholm
sumber
(n-1)
dapat~-n
atau--n
untuk menyimpan 2 byte. Atau Anda dapat memiliki jawaban yang persis sama dengan jawaban Dennis :n->1>>(n&~-n)
atau1>>(n&--n)
.Jelly , 1 byte
Cobalah online!
Digit pertama dari input yang diindeks 0 yang dikutip. 1
1 Lihat jawaban isaacg untuk bukti validitas.
sumber
Arang , 24 byte (tidak bersaing)
Cobalah online!
Catatan: Pada waktu posting, tidak berfungsi untuk
n
tempatn
kelipatan positif 14.Penjelasan
sumber
GetVariable(Pi)
? Jadi, tidak adaπ
variabel yang ditentukan sebelumnya?π
menyamai pi karena ini adalah bahasa yang berorientasi seni ASCII, bukan yang berorientasi matematikaJapt ,
31 + 1 = 21 bytePort lain dari solusi feersum .
Mengambil input sebagai string.
Cobalah online
Penjelasan
sumber
g
selama 1 byte :)TI-BASIC, 16 byte
Pada dasarnya menguji apakah input
N
(1-diindeks) adalah angka segitiga. Ini sama dengan mengembalikanN
digit ke-0,1010010001 ..., yang terbukti bersifat transendental. Urutan digit adalah OEIS A010054 .sumber
Fourier, 16 byte
Cobalah online!
Seperti jawaban lain yang telah dilakukan, output digit pertama dari input.
Penjelasan kode:
sumber
JavaScript (ES6)
Hanya beberapa port dari beberapa solusi lain
solusi Python feersum , 12 byte
Tampilkan cuplikan kode
Solusi Python Dennis , 13 byte
Tampilkan cuplikan kode
Solusi Python xnor , 20 byte
sumber
Brain-Flak , 6 + 3 (
-c
) = 9 byteCobalah online!
Digit pertama dari input string 0-indeks (maka
-c
flag).sumber
C #, 13 byte
Dari solusi feersum. Solusi yang hampir sama dari port js.
Cobalah online
sumber
05AB1E ,
31 byteEDIT : Menggunakan bukti dari jawaban lain, mengembalikan digit input pertama
1-diindeks untuk π (hanya hingga 100000 digit)
Bagaimana itu bekerja
Atau, jika Anda lebih suka e (masih 1-diindeks) (hanya hingga 10.000 digit)
Cobalah online!
sumber
J, 2 Bytes
Solusi yang sama yang digunakan orang lain:
Mengembalikan digit pertama n. IO aktif
Liouville's Constant, 9 Bytes
Mengembalikan
1
jika input adalah faktorial dari integer.Pi, 13 Bytes
Digit non-desimal terakhir kali pi 10 ^ n.
sumber
Jelly , 2 byte
Cobalah online!
Ambil panjang dari nomor input modulo 2. Setara dengan jawaban APL ini .
sumber
Dreaderef , 5 byte
Cobalah online!
Mengembalikan digit pertama input.
sumber
Momema , 5 byte
Cobalah online!
Mengembalikan digit pertama input.
sumber
Bahasa Pemrograman Shakespeare , 76 byte
Cobalah online!
sumber