Algunas personas dicen que la curiosidad mató al gato. Otros dicen que fue la caja y el veneno. La RSPCA dice que Erwin Schrödinger necesita perder el derecho a tener mascotas.
Con activistas por los derechos de los animales fuera de su casa. El científico asesino de gatos Schrödinger finalmente ha inventado su mayor invento. Una mezcla radiactiva especial de unobtanium y handwavium que puede tener cualquier semivida, y un solo gramo del producto es capaz de matar a cualquier criatura viviente. Desafortunadamente, cuando trató de probarlo en su último gato: Bob, olvidó que los gatos tienen 9 vidas, por lo que necesitaría 9 gramos para matar. Con un poco de agua pero sin comida, el pobre Bob vivirá exactamente 1 semana (7 días) si el producto no lo mata primero.
La tarea: dada una entrada de una masa en miligramos y una vida media en milisegundos, ambos enteros que pueden exceder 2 ^ 31, escribir un programa que muestre si el súper producto misterioso mata o no al gato, o si es 1 semana El límite caduca primero. Suponga que verdadero / sí / 1 / cualquier cosa especificada en la respuesta es para cuando no muere de hambre.
Para que el producto lo mate, se deben descomponer un total de 9 gramos. Entonces, de una muestra de 18 gramos, debe pasar 1 vida media. Si la muestra contiene menos de o igual a 9 gramos, esto nunca se logrará, por lo que se puede suponer de inmediato que pasará 1 semana antes de que se descompongan 9 gramos.
Puedes asumir:
- Bob muere el microsegundo 9 gramos ha decaído.
- El cambio es masa debido a la descomposición no importa.
- Todos los días y horas siguen el tiempo terrestre generalmente aceptado.
- La caja en la que está sellado Bob es irrompible y no se puede abrir, por lo que no hay posibilidad de muerte por otras causas.
- El oxígeno tampoco es un problema.
- Si ambos suceden exactamente al mismo tiempo, cualquier salida es aceptable.
- Todas las entradas deben estar por debajo de 2 ^ 63-1
Casos de prueba:
Ejemplo:
18000 604800001
Para que se descompongan 9 gramos, debe pasar exactamente 1 vida media (18000/2 = 9000 miligramos o 9 gramos). 1 vida media es 604800001 milisegundos, o 168 horas y 1 milisegundo, o exactamente 1 semana y 1 milisegundo. Como Bob muere de hambre exactamente en 1 semana, la producción es falsa ya que murió de hambre justo antes de que se alcanzara el límite de producto de 9 gramos.
8000 40000 false
70000 800 true
18000 604800000 either
18000 604800001 false
18000 604799999 true
1 1 false
100000 1 true
1000000000 1000000000 true
Puntuación: Naturalmente, queremos que el sufrimiento de Bob termine rápidamente, por lo que es mejor una vida media más corta. La vida media y el byte terminan en E, por lo que claramente gana el conteo de bytes más corto.
true
ofalse
?λ
y la masam
,m-m*(1/2)**(604800000/λ) > 9000
(o≥
, dado el caso extremo puede ir en cualquier dirección).Respuestas:
Python 3, 33 bytes
Explicación:
Intenta aquí
fuente
lambda a,b:2**(-6048e5/b)+9e3/a<1
CJam (22 bytes)
Demostración en línea
Disección
Una explicación rápida de las matemáticas: si la vida media es
λ
, después de un tiempo,t
la proporción del material radiactivo restante es(1/2)^(t/λ)
, entonces la proporción decaída es1 - (1/2)^(t/λ)
.fuente
Fourier, 51 bytes
Tengo que admitir que no entiendo completamente este programa ... Principalmente solo una traducción del código Python de TheNumberOne.
Tenga en cuenta que este es el primer programa que he escrito para PPCG que utiliza
@
la función de salida clara.Pruébalo en línea!
fuente
En realidad, 20 bytes
Pruébalo en línea!
Explicación:
fuente
Dyalog APL , 19 bytes
9E3≤
es 9000 más pequeño o igual a⊣-
el argumento izquierdo (masa) menos⊣×
los tiempos de discusión de la izquierda.5*
½ al poder de6048E5÷⊢
604800000 dividido por el argumento correcto (semivida)No hay necesidad de paréntesis, ya que APL es estrictamente de derecha a izquierda.
TryAPL en línea!
fuente