Tarea
Escriba una función o un programa para encontrar el número de rotaciones requeridas por una rueda para recorrer una distancia dada, dado su radio.
Reglas
La entrada puede ser 2 números racionales positivos y puede tomarse en cualquier formato conveniente.
Ambas entradas son de la misma unidad.
No debe haber ningún dígito 0-9 en su código.
La salida será un número entero (en caso de flotación, redondeado al infinito)
Este es el código de golf, por lo que el código más corto gana
Ejemplos
distance radius output
10 1 2
50 2 4
52.22 4 3
3.4 0.08 7
12.5663 0.9999 3
code-golf
restricted-source
Vedant Kandoi
fuente
fuente
-DP=3.14
en los indicadores del compilador, eso se definiríaP
como una aproximación de pi, que probablemente sea no es lo que pretendíasRespuestas:
MathGolf ,
54 bytesPruébalo en línea!
Explicación
fuente
APL + WIN, 9 bytes
Solicitudes de radio seguido de distancia:
Pruébalo en línea! Cortesía de Dyalog Classic.
Explicación:
fuente
⌈⎕÷○+⍨⎕
Funciona para 7 bytes.Java 8,
3230 bytesContiene no imprimible
\u0002
entre comillas simples.Puerto de la respuesta Perl 6 de @jOKing .
Pruébalo en línea.
fuente
2
, y luego solo usar el dígito1
... Afortunadamente, Erik tiene razón en que un simple unario negativo tiene el mismo efecto que+1
(usado a menudo para deshacerse del paréntesis ya que lo negativo y lo unario tienen mayor prioridad que la mayoría de los otros operadoresPerl 6 ,
1512 bytes-3 bytes tjanks a nwellnhof recordándome sobre tau
Pruébalo en línea!
Anónimo Cualquier lambda que use la fórmula
(a/b/tau).floor+1
. Tau es dos veces pi. Las dos variables anónimas$
se obligan al número0
, que se utiliza para poner el número en el piso+|0
(bit a bit o 0) y agregar uno+!$
(más no cero).fuente
Python 2 ,
47454443 bytesPruébalo en línea!
fuente
l/(r+r)//pi+l/l
y guardar un byte.05AB1E , 6 bytes
Puerto del comentario de @flawr en Python 2 .
Toma la entrada en el orden
radius
,distance
.Pruébelo en línea o verifique todos los casos de prueba .
Explicación:
fuente
PHP, 47 bytes
Pruébalo en línea .
fuente
Ruby , 29 bytes
Pruébalo en línea!
fuente
C, 46 bytes
Soy nuevo en PPCG, por lo que no estoy seguro de si tengo que contar otras partes en el conteo de bytes, como el
necesario para la función ceil, que aumentará el recuento a 64 bytes
fuente
#include
y similares para el total de bytes. Siempre se agradece un enlace a un conjunto de pruebas en línea, aquí hay uno que puede incorporar libremente a su publicación: tio.run/…Catholicon , 8 bytes
Explicación:
Nueva versión (pi incorporado hizo un byte, parámetros de división intercambiados), 5 bytes
fuente
J ,
109 bytesPruébalo en línea!
fuente
Stax , 5 bytes
Ejecutar y depurarlo
fuente
MathGolf ,
65 bytesSemi-puerto del comentario de @flawr en Python 2 .
Toma la entrada en el orden
radius distance
.-1 byte porque
ceil
se acaba de agregar el builtin, reemplazando elfloor+1
.Pruébalo en línea .
Explicación:
fuente
C (gcc) ,
454745 bytesUna aproximación razonable de pi es 355/113. Dado que la circunferencia C = 2 * r * PI, en lugar de pi podemos usar tau, que por supuesto es ~ 710/113. 710 tiene los factores convenientes 2 * 5 * 71, que se expresa de forma compacta como
'G' * '\n'
.Agregamos uno (r/r
) para forzar el redondeo al infinito.Editar: Mi truco fue demasiado inteligente para su propio bien: por supuesto, falló si la distancia era un múltiplo de la circunferencia.
Pruébalo en línea!
fuente
Julia 1.0 , 20 bytes
Pruébalo en línea!
fuente
R ,
3932 bytes-7 bytes Gracias a Giuseppe
Pruébalo en línea!
Siento que esto definitivamente se podría jugar al golf, pero ahora soy un poco vago para hacer algo al respecto
fuente
min , 16 bytes
Toma la distancia y el radio puestos en la pila en ese orden. Luego se divide por tau, redondea y hace int.
fuente
Jalea , 6 bytes
Pruébalo en línea!
fuente
Japt, 7 bytes
Pruébalo aquí
fuente
JavaScript (nodo de Babel) , 25 bytes
-2 bytes usando @flawr comment = D. -1 de @Kevin. -7 de @Shaggy
Pruébalo en línea!
fuente
a=>b=>Math.ceil(a/(b+b)/Math.PI)
tiene 32 bytes. :)Dart ,
4746 bytesPruébalo en línea!
fuente
Haskell, 25 bytes
fuente
(!)
lugar def
usarlo enceiling$
lugar de loceiling(..)
que le ahorra 3 bytes: ¡ Pruébelo en línea!Lua ,
61585749 bytesPruébalo en línea!
Gracias a KirillL. -8 bytes.
fuente
Lisp común, 36 bytes
Pruébalo en línea!
fuente
Tcl , 50 bytes
Pruébalo en línea!
Tcl , 53 bytes
Pruébalo en línea!
¡La falta de una constante o función pi me hace perder la competencia de golf!
fuente
[incr i]
es bastante inteligente pero creo que puedes usarlo$d/$d
o en su$r/$r
lugar.PowerShell,
535251 bytes-1 byte gracias a @mazzy
-1 byte después de darme cuenta de que no necesito un punto y coma después del
param()
bloquePruébalo en línea!
Toma datos de dos parámetros de línea de comandos, distancia
-d
y radio-r
.fuente
param($d,$r);($a=[math])::ceiling($d/($r+$r)/$a::pi)
JavaScript (nodo de Babel), 23 bytes
Pruébalo en línea!
fuente
Clojure , 50 bytes
Una función anónima que acepta dos enteros
a
yb
como argumentos: la distancia y el radio de la rueda, respectivamente.Pruébalo en línea!
(count " ")
2
fuente
TI-Basic (serie 83), 12 bytes
Toma la entrada como una lista de radio y distancia en
Ans
: por ejemplo{0.9999:12.5663:prgmX
,.e^(ΔList(ln(Ans
tomará la razón de esas distancias y lamin(
convertirá en un número. Luego dividimos porTmax
, que es un parámetro gráfico que es igual a 2π por defecto. Finalmente,-int(-
toma el techo.fuente
Pari / GP , 23 bytes
Pruébalo en línea!
fuente