Tugas
Dalam tantangan ini, tugas Anda adalah menulis sebuah program dalam bahasa pemrograman L yang mengambil bilangan bulat positif n , dan menampilkan jumlah pembagi n yang tepat ( urutan A001065 pada OEIS). Ini harus mengembalikan output yang benar untuk 1 ≤ n ≤ 10 000 . Inilah 10 keluaran pertama:
0, 1, 1, 3, 1, 6, 1, 7, 4, 8
Selain itu, program Anda harus berupa polyglot palsu , yang artinya sebagai berikut. Ini adalah program yang valid dalam bahasa pemrograman lain L ' , dan untuk setiap input 1 ≤ n ≤ 10 (kasus uji di atas), ia mengembalikan jumlah pembagi n yang tepat , tetapi ada sekitar 11 ≤ n ≤ 10.000 untuk itu tidak mengembalikan hasil yang benar. Mungkin mengembalikan sesuatu yang salah, berulang selamanya, macet dll. Ini dapat memberikan hasil yang salah untuk semua n ≥ 11 , untuk beberapa dari mereka atau hanya satu.
Aturan dan penilaian
Anda dapat menulis program atau fungsi lengkap, dan Anda dapat memiliki berbagai cara input dan output dalam dua bahasa. Hitungan byte terendah menang. Aturan standar kode-golf berlaku. Dalam tantangan ini, berbagai versi utama atau implementasi bahasa dianggap berbeda.
Perhatikan bahwa jika Anda menggunakan bahasa pemrograman dengan pengkodean non-ASCII (seperti yang banyak dilakukan di situs ini), urutan byte yang sama harus digunakan untuk kedua bahasa. Ini berarti Anda harus mengonversi antara halaman kode yang berpotensi berbeda atau mengalami penalti untuk karakter Unicode multi-byte.
Kasus uji tambahan
20 -> 22
36 -> 55
180 -> 366
997 -> 1
2875 -> 869
10000 -> 14211