Tulis program yang menggunakan dua angka sebagai inputnya. Yang pertama adalah jumlah dimensi - 0 untuk titik, 1 untuk garis lurus, 2 untuk lingkaran, 3 untuk bola. Angka kedua adalah jari-jari objek, atau, jika itu 1-dimensi, bilangan itu sendiri. Output 0 untuk 0 dimensi. Outputnya adalah panjang / area / volume objek.
Jika kita memanggil nomor pertama n
, yang kedua r
, dan hasilnya x
, kita dapat:
untuk n = 0, x = 1
untuk n = 1, x = 2 × r
untuk n = 2, x = r 2 × π
untuk n = 3, x = ( 4 / 3 ) × r 3 × π
dan seterusnya ... jika Anda mau.
Catatan:
Kasus-kasus ketika satu atau kedua angka negatif, atau ketika angka pertama tidak utuh, tidak perlu ditutupi.
Program tidak boleh membaca dari file apa pun dan satu-satunya input adalah dua angka itu.
Output harus menggunakan hanya angka (mis. Bukan "14 * pi"), dan harus akurat setidaknya dua digit desimal.
Sedangkan untuk n = 0, Anda dapat menampilkan 0 jika membuat kode lebih pendek.
Sombong ekstra untuk jawaban yang mencakup "bola" 4 dimensi dan lebih banyak lagi!
Ini kode-golf , jadi jawaban tersingkat dalam byte menang!
Contoh:
1 1 -> 2
2 3 -> 28,27
3 1 -> 4,19
3 4,5 -> 381,70
1 9.379 -> 18.758
0 48 -> 1
== r
adalah bola, himpunan poin dengan jarak dari asal <= r
adalah bola. Maka ini adalah 0-bola = titik, 1-bola = segmen, 2-bola = disk, 3-bola = bola, 4-bola, 5-bola, dan lain-lain. (terdaftar sebagai " n
-ball = nama umum").