var QUESTION_ID=97585,OVERRIDE_USER=42963;function answersUrl(e){return"https://api.stackexchange.com/2.2/questions/"+QUESTION_ID+"/answers?page="+e+"&pagesize=100&order=desc&sort=creation&site=codegolf&filter="+ANSWER_FILTER}function commentUrl(e,s){return"https://api.stackexchange.com/2.2/answers/"+s.join(";")+"/comments?page="+e+"&pagesize=100&order=desc&sort=creation&site=codegolf&filter="+COMMENT_FILTER}function getAnswers(){jQuery.ajax({url:answersUrl(answer_page++),method:"get",dataType:"jsonp",crossDomain:!0,success:function(e){answers.push.apply(answers,e.items),answers_hash=[],answer_ids=[],e.items.forEach(function(e){e.comments=[];var s=+e.share_link.match(/\d+/);answer_ids.push(s),answers_hash[s]=e}),e.has_more||(more_answers=!1),comment_page=1,getComments()}})}function getComments(){jQuery.ajax({url:commentUrl(comment_page++,answer_ids),method:"get",dataType:"jsonp",crossDomain:!0,success:function(e){e.items.forEach(function(e){e.owner.user_id===OVERRIDE_USER&&answers_hash[e.post_id].comments.push(e)}),e.has_more?getComments():more_answers?getAnswers():process()}})}function getAuthorName(e){return e.owner.display_name}function process(){var e=[];answers.forEach(function(s){var r=s.body;s.comments.forEach(function(e){OVERRIDE_REG.test(e.body)&&(r="<h1>"+e.body.replace(OVERRIDE_REG,"")+"</h1>")});var a=r.match(SCORE_REG);a&&e.push({user:getAuthorName(s),size:+a[2],language:a[1],link:s.share_link})}),e.sort(function(e,s){var r=e.size,a=s.size;return r-a});var s={},r=1,a=null,n=1;e.forEach(function(e){e.size!=a&&(n=r),a=e.size,++r;var t=jQuery("#answer-template").html();t=t.replace("{{PLACE}}",n+".").replace("{{NAME}}",e.user).replace("{{LANGUAGE}}",e.language).replace("{{SIZE}}",e.size).replace("{{LINK}}",e.link),t=jQuery(t),jQuery("#answers").append(t);var o=e.language;/<a/.test(o)&&(o=jQuery(o).text()),s[o]=s[o]||{lang:e.language,user:e.user,size:e.size,link:e.link}});var t=[];for(var o in s)s.hasOwnProperty(o)&&t.push(s[o]);t.sort(function(e,s){return e.lang>s.lang?1:e.lang<s.lang?-1:0});for(var c=0;c<t.length;++c){var i=jQuery("#language-template").html(),o=t[c];i=i.replace("{{LANGUAGE}}",o.lang).replace("{{NAME}}",o.user).replace("{{SIZE}}",o.size).replace("{{LINK}}",o.link),i=jQuery(i),jQuery("#languages").append(i)}}var ANSWER_FILTER="!t)IWYnsLAZle2tQ3KqrVveCRJfxcRLe",COMMENT_FILTER="!)Q2B_A2kjfAiU78X(md6BoYk",answers=[],answers_hash,answer_ids,answer_page=1,more_answers=!0,comment_page;getAnswers();var SCORE_REG=/<h\d>\s*([^\n,]*[^\s,]),.*?(\d+)(?=[^\n\d<>]*(?:<(?:s>[^\n<>]*<\/s>|[^\n<>]+>)[^\n\d<>]*)*<\/h\d>)/,OVERRIDE_REG=/^Override\s*header:\s*/i;
body{text-align:left!important}#answer-list,#language-list{padding:10px;width:290px;float:left}table thead{font-weight:700}table td{padding:5px}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <link rel="stylesheet" type="text/css" href="//cdn.sstatic.net/codegolf/all.css?v=83c949450c8b"> <div id="answer-list"> <h2>Leaderboard</h2> <table class="answer-list"> <thead> <tr><td></td><td>Author</td><td>Language</td><td>Size</td></tr></thead> <tbody id="answers"> </tbody> </table> </div><div id="language-list"> <h2>Winners by Language</h2> <table class="language-list"> <thead> <tr><td>Language</td><td>User</td><td>Score</td></tr></thead> <tbody id="languages"> </tbody> </table> </div><table style="display: none"> <tbody id="answer-template"> <tr><td>{{PLACE}}</td><td>{{NAME}}</td><td>{{LANGUAGE}}</td><td>{{SIZE}}</td><td><a href="{{LINK}}">Link</a></td></tr></tbody> </table> <table style="display: none"> <tbody id="language-template"> <tr><td>{{LANGUAGE}}</td><td>{{NAME}}</td><td>{{SIZE}}</td><td><a href="{{LINK}}">Link</a></td></tr></tbody> </table>
Jawaban:
Dyalog APL dengan dfns 's kal , Versi 15.0: 22; Versi 16.0: 19 byte
Fungsi cal dilengkapi dengan instalasi default, cukup masukkan
)copy dfns
.Versi 15.0:
∊⎕{⍵/⍨2=≢⍎⊢⌿cal⍺⍵}¨⍳12
∊
minta (ratakan)⎕{
...}¨
input numerik sebagai argumen kiri ke fungsi anonim berikut, dengan mengambil masing-masing nilai sisi kanan sebagai argumen kanan⍵/⍨
argumen jika (memberikan daftar kosong jika tidak)2=
dua (yaitu hari Minggu dan Senin) sama dengan≢
penghitungan⍎
angka dalam⊢⌿
baris paling bawah darical
kalender untuk⍺⍵
tahun kiri-argumen, bulan kanan-argumen, yang terakhir adalah⍳12
1 hingga 12Versi 16.0:
⍸2=⎕{≢⍎⊢⌿cal⍺⍵}¨⍳12
⍸
indeks mana2=
dua sama dengan (yaitu hari Minggu dan Senin)⎕{
...}¨
input numerik sebagai argumen kiri ke fungsi anonim berikut, dengan mengambil masing-masing nilai sisi kanan sebagai argumen kanan≢
penghitungan⍎
angka dalam⊢⌿
baris paling bawah darical
kalender untuk⍺⍵
tahun kiri-argumen, bulan kanan-argumen, yang terakhir adalah⍳12
1 hingga 12sumber
JavaScript (Firefox 30+),
11210910395 byteLihat bu, tidak ada built-in!
Berikut adalah versi ES6 107-byte:
Dan inilah upaya saya sebelumnya,
123113 byte ES6:Penjelasan
Hari dalam minggu tahun tertentu dihitung seperti ini:
Dengan kata lain:
y
.y
(y>>2
).y
(y/100|0
).y
; ini 1/4 dariy/100|0
, jadi kami gunakan*3/4|0
.Kemudian kita memodulasi hasilnya dengan 7. Jika kita membiarkan
0
hari Minggu berarti,1
berarti Senin, dll, hasilnya sesuai dengan hari minggu 31 Desember tahun itu. Karena itu, untuk bulan Desember, kami ingin memeriksa apakah hasilnya1
. Ini memberi kita karakter terakhir dalam string.Hari terakhir bulan November adalah 31 hari sebelum hari terakhir bulan Desember. Ini berarti bahwa untuk hari terakhir bulan November menjadi hari Senin, 31 Desember harus menjadi
(1 + 31) % 7 = 4
= Kamis.Prosedur ini diulang sampai kami kembali ke bulan Maret (a
3
). Ada atau tidak ada hari kabisat, hari terakhir bulan Februari adalah 31 hari sebelum hari terakhir bulan Maret, jadi kita juga bisa menghitungnya(3 + 31) % 7 = 6
. Bagian yang sulit adalah menemukan nilai yang benar untuk bulan Januari:(6 + 29) % 7 = 0
.(6 + 28) % 7 = 6
.Kami dapat menghitung apakah ini tahun kabisat dengan potongan berikut:
Ini memberi
0
jikay
bukan tahun kabisat, dan bilangan bulat positif sebaliknya. Ini membawa kita keuntuk menghitung hari untuk bulan Januari. Namun, kami dapat melakukan yang lebih baik dengan membalik kondisi:
Karena hasil falsy selalu 0, kita dapat menguranginya menjadi
menghemat satu byte lagi yang berharga.
Menyatukan semuanya, kami mengulangi masing-masing karakter dalam string, memeriksa apakah masing-masing sama dengan hari di minggu 31 Desember. Kami menyimpan indeks yang cocok, mengembalikan array ini pada akhirnya. Dan itu adalah bagaimana Anda melakukan perhitungan tahun kabisat tanpa built-in.
sumber
!(y%4)*y%100|!(y%400)
. setiap tahun dapat dibagi dengan 4, kecuali bukan tahun yang dapat dibagi dengan 100, kecuali juga dapat dibagi oleh 400y+(y>>2)+(z=y/25>>2)+(z>>2)
masih menghemat satu byte.(y*5/4-(y/100)*3/4)
.JavaScript (Firefox 30-57),
6765646361 byteDisimpan
246 bytes berkat @ETHproductions.Menyimpan byte lain dengan mengeluarkan bulan dalam urutan terbalik.sumber
.keys()
:y=>[for(_ of(m=0,Array(12)))if(new Date(y+400,++m).getDay()==2)m]
Array(12)
semuanya:y=>[for(_ of(m=0,1e11+""))if(new Date(y+400,++m).getDay()==2)m]
MySQL,
183134129106 byteGanti
2016
dengan tahun yang diinginkan. Menjalankan.Rev 2: Menggunakan
help_topics
tabel dalam instalasi default alih-alih membuat tabel sementara.Rev.3: Trik yang diadopsi aross
-
dan perhatikan saya juga bisa menghilangkan tanda kutip untuk"-1"
.Namun,
-1
diperlukan di MySQL: Saya perlu tanggal penuh.Rev.4: Pembatasan
m BETWEEN 1 AND 12
dapat dilakukan sebagaim>0 AND m<13
(-6), tetapi tidak diperlukan sama sekali - nilai yang tidak valid akan diabaikan; peringatan akan dihitung tetapi tidak terdaftar.sumber
FROM help_topic
tanpamysql.
kerja? Saya belum mencobanyaUSE mysql;
database yang benar entah bagaimana harus dipilih.Perl, 64 byte
Termasuk +1 untuk
-n
Berikan masukan pada STDIN:
mon.pl
:sumber
Batch,
160152 bytePort of @ ETHproduksi jawaban. Dengan singkatan bulan untuk
197189 byte:sumber
J,
483433 byteDisimpan 15 byte dengan bantuan dari @ Adám .
Menggunakan kalender bawaan untuk menghasilkan array string yang mewakili bulan, lalu mem-parsing setiap string untuk menentukan apakah Senin terakhir adalah hari terakhir dalam sebulan. Output setiap bulan sebagai jumlah bulan masing-masing. Artinya,
Jan = 0
,Feb = 1
, ...,Dec = 11
.Output dari
calendar
isPemakaian
Penjelasan
sumber
calendar
adalah array dari 12 kotak di mana setiap kotak berisi array karakter 2dI.7=;#&.>".&.>,&.>_2{.&.>calendar 2016
Jika Anda menggabungkan semua "kurang terbuka", Anda harus bisa membuatnya cukup singkat.Mathematica,
6257 byteFungsi anonim. Mengambil nomor sebagai input dan mengembalikan daftar daftar elemen tunggal angka sebagai output. Sejujurnya saya tidak yakin lagi bagaimana cara kerjanya.
sumber
Perl + cal, 46 byte
Contoh:
sumber
Java 7,
186 182172 byteTerima kasih kepada kevin untuk menyimpan 4 byte
Terima kasih kepada @cliffroot karena telah menghemat 10 byte
ungolfed
Versi ini disediakan oleh @cliffroot ( 168 bytes )
sampel keluaran
sumber
n%4==0
untukn%4<1
;n%400==0
ken%400<1
danint c=...;int[]b=...,a=...
keint c=...,b[]=...,a[]=...
.b
dana
dapat didefinisikan padaint
bagian seperti ini:int ... ,b[]=...,a[]=...
int[]f(int n){int x=--n*365+n/4+n/400-n++/100,k=0,b[]={1,(n%4<1&n%100>0)|n%400<1?-1:-2,1,0,1,0,1,1,0,1,0,1},a[]=new int[12];for(int i:b)a[k++]=(x+=i+30)%7==1?1:0;return a;}
beberapa byte disimpanb
keb[]={3,(n%4<1&n%100>0)|n%400<1?1:0,3,2,3,2,3,3,2,3,2,3}
dani+30
kei+28
untuk 2 byte lagiint[]f(int n){int b=13561787|((n%4<1&n%100>0)|n%400<1?1<<20:0),x=--n*365+n/4+n/400-n/100,a[]=new int[12],k=0;while(k<12)a[k++]=(x+=(b>>24-k*2&3)+28)%7==1?1:0;return a;}
Python 2, 100 byte
Ugh. Matematika dengan tanggal tidak sesederhana yang saya inginkan.
Cobalah online
Sama panjang:
sumber
MATL , 21 byte
Bulan ditampilkan sebagai angka.
Cobalah online! Atau verifikasi semua kasus uji .
Penjelasan
Ini menggunakan fungsi bawaan konversi tanggal. Untuk tahun tertentu ia menguji hari terakhir bulan mana adalah Senin.
Alih-alih secara eksplisit menentukan hari terakhir bulan
k
(yang mungkin 28, 29, 30 atau 31), kami menentukan0
hari ke-bulank+1
, yang setara dan tidak tergantung pada bulan atau tahun.sumber
Utilitas Bash + GNU, 56 byte
Tampaknya membutuhkan
date
versi 8.25. Versi 8.23 di Ideone tidak memotongnya.sumber
Excel, 537 byte
Karena - Anda tahu - Excel!
Mengambil tahun input dalam A1. Mengembalikan daftar bulan heksadesimal; 1 = Januari, C = Desember. Karena setiap bulan adalah satu digit, tidak diperlukan separator.
Contoh: A1 berisi 2016. B1 berisi rumus di atas, dan ditampilkan sebagai
2A
, artinya Februari dan Oktober.sumber
PHP, 109
180159bytewhile
menjadifor
sekarang satu tahun (sekali lagi, terima kasih Titus)2 tahun
Mendukung semua tahun dari titik ke 10.000, juga menyingkirkan peringatan var tidak terdefinisi yang tidak saya sadari pada satu PC. Ya itu lebih lama dari versi yang lama, tetapi lebih kuat.
1 tahun
Jika berjalan pada Windows atau sistem 32bit akan ada bug 2038 yang ditakuti, tetapi pada sistem linux 64bit tidak apa-apa.
Saya memang mencoba menggunakan
date("t"...
yang dimaksudkan untuk mewakili tanggal terakhir dari bulan yang diberikan, tetapi hasilnya tidak cocok dengan yang disebutkan sebelumnya di utas ini.sumber
$z
, tidak ada tanda kutip untukN
) -1:for
bukannyawhile
-43 : ambil input seperti yang diminta alih-alih berulang tahun -3:join
bukannyaimplode
-16: output langsung:for($z=$argv[1];$m++<12;)if(date(N,strtotime(sprintf("%04d-$m-",$z).cal_days_in_month(0,$m,$z)))<2)echo"$m,";
+9 jika Anda bersikeras tidak memiliki tanda koma:echo$o=$o?",$m":$m;
PHP, 92 Bytes
periksa 12 kali 1 bulan setelah hari pertama tahun adalah hari Selasa. Jika demikian maka hari sebelum hari terakhir dalam bulan adalah Senin.
sumber
C, 214 byte
Menyusun
Tidak disatukan
Dengan kredit untuk guru yang relevan.
Michael Keith dan Tom Craver untuk Program C mencari tanggal hari dalam seminggu .
Collin Biedenkapp untuk T&J: Bagaimana cara mengetahui apa hari terakhir bulan itu?
sumber
if
arah Anda yang lain, agar Andaelse
kembali31
, dan karenanya Anda bisa menghilangkan==
rantai besar ?C, 119 byte
Ini menggunakan tabel yang berisi offset hari kerja dari hari terakhir setiap bulan untuk tahun kabisat, disandikan dalam kata 32-bit yang ditandatangani menggunakan basis 7. Jika ini bukan tahun kabisat, kami menambahkan 1 ke offset Januari (seperti yang dapat Anda lihat
y&3||y%25<1&&y&15
digunakan untuk memeriksa selama bertahun-tahun tanpa hari kabisat). Kemudian kami cukup memutari setiap bulan dan memeriksa apakah hari terakhir adalah hari Senin. Sebenarnya cukup sederhana, tidak ada retas atau trik jelek. Ini sedikit ungolfed:Saya mungkin mengunjungi kembali ini untuk menulis ulang sebagai fungsi untuk menyimpan beberapa karakter. The
printf
juga memakan terlalu banyak ruang ...sumber
PHP,
96957671696461 byteCatatan: angka tahun harus diisi hingga 4 karakter
0070
.Jalankan seperti ini:
Penjelasan
Iterasi dari -1 hingga -12. Buat tanggal menggunakan mktime, hari
0
(hari terakhir bulan sebelumnya) dan bulan2..13
. Format tanggal sebagai nomor hari , dan jika hasilnya 1, cetak nomor saat ini. Tanda negatif-
digunakan sebagai pembatas.Bug Milenium Menyerang Lagi!
Perhatikan bahwa dengan versi ini, kisaran
0..100
ditafsirkan sebagai1970..2069
. Ini bukan masalah untuk rentang0..69
, karena minggu memiliki pola yang berulang setiap 400 tahun (146097 hari, tepatnya 20871 minggu), tetapi untuk rentang70..99
, 1900 ditambahkan ke nomor tahun, yang bukan kelipatan 400. Untuk memperbaikinya masalah itu HANYA untuk angka 30 tahun dalam kisaran 10k, cara paling sederhana adalah menambahkan 400 ke nomor tahun untuk mencegah penafsiran 2 digit ( +4 byte ):Tweaks
!~-$i
untuk membandingkan$i
dengan1
(-1
binary dinegasikan0
, secara logika dinegasikan adalahtrue
; setiap nomor lainnya adalahfalse
), sehingga tanda kurung tidak diperlukanlast day ofYYYY-m
notasi untuk membuat tanggaldate
danstrtotime
bukannyadate_create
YYYY-m
bagian tanggalmktime
bukanstrtotime
. Dikembalikan ke penggunaan hari0
(mktime
juga mendukung bulan 13, jadi0-13
==31-12
)-R
agar$argn
tersediasumber
mktime
menghapus keharusan untuk menutup tahun, bukan?mktime
adalah kontra-intuitif , karena argumen diambil sebagaiINT
s. Itu berarti Anda tidak dapat menghitung tahun ... jadi semua yang ada dalam jangkauan0..100
diartikan sebagai1970..2070
. Itu bukan masalah untuk rentang0..70
karena 400 tahun memiliki jumlah minggu yang tepat (jadi kalender ulangi pola setiap 400 tahun), tetapi70..99
tambahkan 1900 (bukan kelipatan 400!). Oleh karena itu baru ver. memiliki bug.$argv[1]+400
... kecuali hari kerja Julian dan Gregorian berbeda.Excel,
4289796 byteMasukan dalam A1. Menghasilkan nilai Hexadecimal yang tidak dipisahkan (Januari = 0, Desember = B)
Menambahkan 10 byte ("+2000") untuk memungkinkan penanganan tanggal pra-1990.
Disimpan 11 byte berkat @ Engineer Toast .
Upaya pertama (428 bytes), banyak meminjam dari solusi @ Adám .
sumber
297 -> May
kembali6
dengan rumus ini. Bukankah seharusnya 4?1776
memberi7A
bukan hanya8
untuk bulan September.Date(A1,3,0)
sebagai gantinyaEOMONTH(DATE(A1,2,1),0)
Bash + cal, 58 byte
sumber
cal
(mis. OSX), tetapi perhatikan spasi tambahan di GNUcal
.Python 2, 94 byte
repl.it
Fungsi yang tidak disebutkan namanya, membutuhkan tahun integer, menampilkan daftar angka bulan
[1-12]
.Saya juga mencoba untuk mengalahkan jumlah byte dengan aritmatika tanpa hasil (110 byte). :
Fungsi tanpa nama yang mengembalikan daftar nilai boolean yang mewakili jika bulan [Jan-Des] berakhir pada hari Senin
sumber
Java 7,
200249 byteDi Jawa,
GregorianCalendar
adalah campuran antara kalender Gregorian dan Julian. Karena itu, tahun1
memberikan hasil yang salah. MengubahCalendar c=Calendar.getInstance();
untukGregorianCalendar c=new GregorianCalendar();c.setGregorianChange(new Date(1L<<63));
memperbaikinya dengan memaksakan penggunaan kalender Gregorian saja. Terima kasih kepada @JonSkeet di stackoverflow.com untuk menjelaskan ini kepada saya.Tidak digabungkan & kode uji:
Coba di sini.
Keluaran:
sumber
C # 6C #,171167135 byte-32 byte berkat Shebang
Cetak bulan sebagai angka; dengan ruang terbatas; dengan ruang tambahan. Sekarang jawaban ini juga berfungsi untuk versi C # yang lebih lama.
Lama, 167 byte
-4 byte terima kasih kepada TimmyD
Bulan keluaran adalah angka dalam string kembali, dibatasi koma
Tidak disatukan
sumber
void q(int y){for(int m=1;m<13;m++){if((int)new DateTime(y,m,DateTime.DaysInMonth(y,m)).DayOfWeek==1){Console.WriteLine(m);}}}
) Juga, akan lebih pendek untuk melemparkanDayOfWeek
keint
daripada untuk melemparkanint
keDayOfWeek
Action<int>
untuk menyimpan beberapa byteRuby, 54 + 6 = 60 byte
6 byte untuk
-rdate
pada baris perintah untuk mendapatkan kelas Date dari library standar.Penjelasan: cukup mudah berkat
Date
kelas hebat stdlib Ruby . Tidak hanya memiliki metode sepertimonday?
,,tuesday?
dll, konstruktor akan mengambil angka negatif untuk bidang apa pun tahun lalu untuk berarti 'hitung bidang ini mundur dari akhir periode yang diwakili oleh bidang sebelumnya'.$*
adalah singkatanARGV
, jadi$*[0]
adalah cara cepat untuk mendapatkan argumen baris perintah pertama.sumber
PHP, 84 byte
Golf Kode pertamaku. Ini adalah PHP terpendek sejauh ini untuk pertanyaan ini.
EDIT: sepertinya tidak berfungsi untuk tahun 1. Saya harus mencari tahu mengapa, tapi sekarang saya harus pergi.
sumber
for(;$m++<12;)strftime("%w",strtotime($argv[1]+($m/12^0)."-".($m%12+1)."-1"))!=2?:print"$m ";
R,
106999583787774 byteUrutan hari-hari terakhir setiap bulan diberikan oleh
seq(as.Date(paste0(x,-2,-1)),,'m',12)-1
:paste0
coerces -2 dan -1 ke karakter. Jikax
itu 2016 misalnya,paste0(x,-2,-1)
berikan"2016-2-1"
yang kemudian dikonversi ke 1 Februari 2016 olehas.Date
.seq
diterapkan pada POSIXct atau objek Date adalahseq(from, to , by, length.out)
: di sinito
tidak diberikan,by
diberikan sebagaimana'm'
dicocokkan dengan'month'
berkat pencocokan parsial, danlength.out
tentu saja 12.-1
memberi kami pada hari terakhir 12 bulan dimulai dengan Januari tahun yang bersangkutan.Kasus uji:
Versi lama pada 95 byte, menghasilkan nama bulan, bukan hanya angka-angkanya:
sumber
seq
punya metode untuk-Date
objek dan ini memecahkan masalahas.Date
tidak menangani tahun10000
di atas dalam jawaban saya yang dihapus.seq.Date
danseq.POSIXt
cukup mengesankan: mereka bahkan dapat memproses perintah sepertiseq(time1, time2, by="10 min")
atauseq(date1, date2, by="quarter")
. Sangat berguna saat merencanakan rangkaian waktu.Japt, 24 byte
Uji secara online! Output array angka, dengan
false
menggantikan bulan yang tidak berakhir pada hari Senin.Ada bug di interpreter yang tidak memungkinkan saya untuk digunakan
Ð
di badan fungsi£
. Setelah perbaikan bug dan penambahan fitur lainnya, ini adalah 18 byte di komit saat ini:sumber
Java,
143129 byteIni menggunakan API waktu baru Java 8.
Keluaran
Perhatikan bahwa setiap baris memiliki ruang ekstra di akhir.
Tidak disatukan dan diuji
Bercukur
DayOfWeek::ordinal
untuk membandingkan dengan konstanta numerik alih-alih konstanta enum.Terima kasih @TimmyD untuk ide umum jika bukan solusi yang tepat! ;-)
sumber
getValue()
metode, yang akan menghemat beberapa byte.ordinal()
menyimpan 1 byte lebih banyak dibandingkangetValue()
, meskipun disarankan untuk tidak pernah menggunakannya.GNU awk, 80 byte
Contoh
sumber