Empat urutan bilangan bulat
Dalam tantangan ini, Anda akan menguji empat properti berbeda dari bilangan bulat positif, yang diberikan oleh urutan berikut. Bilangan bulat positif N adalah
- sempurna ( Oei A000396 ), jika jumlah pembagi yang tepat dari N sama dengan N . Urutan dimulai dengan 6, 28, 496, 8128, 33550336, 8589869056, 137438691328, 2305843008139952128 ...
- refactorable ( Oei A033950 ), jika jumlah pembagi dari N adalah pembagi dari N . Urutan dimulai dengan 1, 2, 8, 9, 12, 18, 24, 36, 40, 56, 60, 72, 80, 84, 88, 96, 104, 108, 128 ...
- praktis ( OEIS A005153 ), jika setiap bilangan bulat 1 ≤ K ≤ N adalah jumlah dari beberapa pembagi N yang berbeda . Urutan dimulai dengan 1, 2, 4, 6, 8, 12, 16, 18, 20, 24, 28, 30, 32, 36, 40, 42, 48, 54, 56 ...
- sangat komposit ( Oei A002128 ), jika setiap nomor 1 ≤ K <N memiliki pembagi ketat kurang dari N . Urutan dimulai dengan 1, 2, 4, 6, 12, 24, 36, 48, 60, 120, 180, 240, 360, 720, 840, 1260, 1680, 2520, 5040 ...
Empat program
Tugas Anda adalah menulis empat program (artinya program lengkap, definisi fungsi, atau fungsi anonim yang menjalankan I / O dengan salah satu metode standar ). Setiap program harus menyelesaikan masalah keanggotaan salah satu dari urutan ini. Dengan kata lain, setiap program akan mengambil bilangan bulat positif N ≥ 1 sebagai input, dan menghasilkan nilai kebenaran jika N ada dalam urutan, dan nilai palsu jika tidak. Anda dapat mengasumsikan bahwa N berada dalam batas tipe integer standar bahasa pemrograman Anda.
Program harus terkait dengan cara berikut. Ada empat string ABCD
sehingga
AC
adalah program yang mengenali angka sempurna.AD
adalah program yang mengenali angka yang dapat dihidupkan kembali.BC
adalah program yang mengenali angka praktis.BD
adalah program yang mengenali angka yang sangat komposit.
Mencetak gol
Skor Anda adalah total panjang (dalam byte) dari string ABCD
, atau dengan kata lain, jumlah byte total dari empat program dibagi dua. Skor terendah dalam setiap bahasa pemrograman adalah pemenangnya. Aturan standar kode-golf berlaku.
Misalnya, jika empat senar yang a{
, b{n
, +n}
dan =n}?
, kemudian empat program yang a{+n}
, a{=n}?
, b{n+n}
dan b{n=n}?
, dan skor adalah 2 + 3 + 3 + 4 = 12.