Escreva um programa que aceite dois números como entrada. A primeira é o número de dimensões - 0 para um ponto, 1 para uma linha reta, 2 para um círculo, 3 para uma esfera. O segundo número é o raio do objeto ou, se é unidimensional, o próprio número. Saída 0 para 0 dimensões. A saída é o comprimento / área / volume do objeto.
Se chamarmos o primeiro número n
, o segundo r
e a saída x
, obtemos o seguinte:
para n = 0, x = 1
para n = 1, x = 2 × r
para n = 2, x = r 2 × π
para n = 3, X = ( 4 / 3 ) r × 3 × π
e assim por diante ... se você quiser, no entanto.
Notas:
Casos em que um ou ambos os números são negativos ou quando o primeiro número não é inteiro, não precisam ser cobertos.
O programa não deve ler nenhum arquivo e a única entrada são esses dois números.
A saída deve usar apenas números (por exemplo, não "14 * pi") e deve ter precisão de pelo menos dois dígitos decimais.
Quanto a n = 0, você pode gerar 0 se ele diminuir o código.
Ganhos extras por uma resposta que abrange até 4 "esferas" dimensionais e mais!
É código-golfe , então a resposta mais curta em bytes vence!
Exemplos:
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
é a esfera, o conjunto de pontos com distância da origem <= r
é a bola. Então, são 0 bola = ponto, 1 bola = segmento, 2 bola = disco, 3 bola = bola, 4 bolas, 5 bolas, etc. (listado como " n
-ball = nome comum").