Scrivi un programma che accetta due numeri come input. Il primo è il numero di dimensioni: 0 per un punto, 1 per una linea retta, 2 per un cerchio, 3 per una sfera. Il secondo numero è il raggio dell'oggetto o, se è monodimensionale, il numero stesso. Uscita 0 per 0 dimensioni. L'output è la lunghezza / area / volume dell'oggetto.
Se chiamiamo il primo numero n
, il secondo r
e l'output x
, otteniamo che:
per n = 0, x = 1
per n = 1, x = 2 × r
per n = 2, x = r 2 × π
per n = 3, x = ( 4 / 3 ) × R 3 × π
e così via ... se vuoi, però.
Appunti:
I casi in cui uno o entrambi i numeri sono negativi o quando il primo numero non è intero, non devono essere coperti.
Il programma non deve leggere da nessun file e l'unico input sono quei due numeri.
L'output deve utilizzare solo numeri (ad es. Non "14 * pi") e deve avere una precisione di almeno due cifre decimali.
Per quanto riguarda n = 0, puoi produrre 0 se accorcia il codice.
Swag extra per una risposta che copre anche "sfere" a 4 e più dimensioni!
È code-golf , quindi vince la risposta più breve in byte!
Esempi:
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
è la sfera, l'insieme di punti con distanza dall'origine <= r
è la sfera. Quindi questi sono 0-ball = point, 1-ball = segment, 2-ball = disk, 3-ball = ball, 4-ball, 5-ball, ecc. (elencato come " n
-ball = nome comune").