Para celebrar el Día del Pi Redondeado, debe aprovechar la fecha de hoy para hacer un programa que tome el diámetro de un círculo y genere su circunferencia multiplicando el diámetro por 3.1416, donde 3.1416 debe obtenerse usando la fecha de hoy.
Input 3
Output 9.4248
etc.
No toma la fecha como entrada. No tiene que usar todos los componentes de la fecha, pero los dígitos de pi deben provenir de formatear un objeto Date o usar un objeto date para obtenerlo. Las respuestas hasta ahora se ven bien.
No estoy seguro de qué más especificar. Todas las respuestas hasta ahora cumplen con lo que esperaba.
Mi restricción fue que debe usar componentes de la fecha para obtener Pi. Por supuesto, puede usar los componentes, multiplicar por 0 y luego agregar 3.1416, ¡pero eso es aburrido y desperdicia caracteres preciosos!
¡El código más corto gana!
fuente
pi
Respuestas:
05AB1E,
1613 bytesPruébalo en línea.
Desafortunadamente, un error con flotadores hace que este byte sea más largo: /
Gracias a Adnan por jugar 3 bytes.
Explicación
fuente
¦¦
en lugar de2000-
es tres bytes más corto;)žfžežg
suena como una bonita palabra checa :)C, 32 bytes
Si está bien perder un poco más de precisión, puedo reducirlo a unos 29 bytes siendo exacto a 4 dígitos más allá del decimal (en el momento de esta publicación):
fuente
#include<time.h>
?#include
encabezados de biblioteca estándar. Incluirlos manualmente es casi siempre una buena idea, pero omitirlos hace que el código de golf en C sea mucho más fácil.main
función de muestra para demostrar cómo llamar a esta macro de argumento único.AppleScript,
122120 bytesVariable a
La variable a es un objeto de fecha. Llamo a toda mi información de fecha fuera de ella.
Mes, día y año
Las llamadas de mes, día y año en realidad devuelven un objeto que normalmente devuelve una cadena. Para usarlo adecuadamente como un número, lo he rodeado en ambos lados con operaciones matemáticas para convertirlo automáticamente en un número.
1e-4
1e-4
es un byte más corto que.0001
.mod.01
.
actúa como un separador de la autocorrección AppleScript. Al usar esto, puedo usar el módulo y aún mantenerlo en byte.Sin declaración / registro de devolución
El programa devuelve el último valor calculado automáticamente. Saco el número calculado a través de la casilla de devolución.
¡Y aquí hay un gif que se está ejecutando!
fuente
Mathematica + coreutils, 20 bytes
Afortunadamente, Mathematica interpreta la salida de un comando externo como una expresión. En este caso, la salida es un flotante válido, de modo que
#
se implica la multiplicación con el argumento de la función .fuente
Lua,
3027 bytesMultiplique el primer argumento de la línea de comandos por la fecha actual en formato
mm.ddyy
, que en realidad es03.1416
.fuente
Bash + bc,
2520 bytesGracias a manatwork por guardar cinco bytes.
Uso:
fuente
date +%m.%d%y\*$1|bc
PowerShell v2 +,
462825 bytesMuy claro. Toma la entrada
$args[0]
y la multiplica por la fecha formateada comoM.dy
(laGet-
está implícita). Tenga en cuenta que esto puede tardar mucho tiempo en ejecutarse en v2, ya que itera posibles sustituciones paraDate
(por ejemplo, verificar su%PATH%
variable de entorno, etc.) antes de establecerseGet-Date
.fuente
-f
?-Format
. Con indicadores como este, solo debe ser inequívoco (por ejemplo, si tuviera-Debug
y-Delimiter
como posibles opciones, necesitaría al menos tres letras para diferenciar). Eliminar el espacio significa que PowerShell intenta analizar la bandera-F"M.dy"
pero no puede encontrar un argumento que coincida, por lo que arroja un error.-f
operador. Tiene sentido total ahora.R 3.2.4,
555147 byteseditar Me di cuenta de que podía usar
scan
gracias @FryAmTheEggMan. Reducido 4 bytes gracias a @MickyT.Primer intento de golf. Feliz dia pi!
fuente
f=
.scan()*as.numeric(format(Sys.Date(),'%m.%d%y'))
as.double
en lugar deas.numeric
guardar un byte adicionalGNU Awk, 23 caracteres
Ejecución de muestra:
fuente
Pyth, 19 bytes
Pruébalo aquí!
Solo funciona en 2016-03-14, por supuesto.
Explicación
fuente
PHP,
45262524 bytesUtiliza la codificación de Windows-1252
Corre así:
date()
lugar deDateTime::format
fuente
$n
via/?n=3
en la url.php.ini
archivo. Aross dijo antes que eso quiere alejarse de tal método.Python 2, 58 caracteres
¡Intentalo!
Explicación:
fuente
JavaScript,
4139 caracteresEsto utiliza un método exclusivo de Firefox .
Gracias a:
Ejecución de muestra (Firefox Web Console):
Nota: esto fallará en Firebug Console. Parece que Firebug realiza alguna expansión en la cadena de plantilla, transformando
`%m.%d%y`
en`%__fb_scopedVars(m).d%y`
antes de pasarlo al código.fuente
d=>new Date().toLocaleFormat`%m.%d%y`*d
new
desde allí.('...')
con 2 backticks, eso es 2 bytes.Rubí, 40 bytes.
fuente
Mathematica, 54
fuente
Vitsy + coreutils, 19 bytes
Explicación:
No se puede ejecutar en modo seguro, ya que esto utiliza el método exec de Runtime.
fuente
SpecBAS , 39 bytes
Nada fuera de lo común. La fecha de los formatos como una cadena multiplica la entrada por el
VAL
(valor) de esa cadena.fuente
Oracle 11g,
5049 bytesun byte menos, gracias a @MickyT
fuente
FROM
Python 3,
7454 bytesusando el módulo de tiempo en lugar de fecha y hora como la Respuesta de Loovjo
solución previa
fuente
Hojas de cálculo de Google, 13 bytes
Los bytes se calculan con un byte por carácter, cero bytes por celda, excepto la celda de entrada designada, dos bytes. El signo igual para comenzar una fórmula no se cuenta. (No sé si esto es estándar, corrígeme si me equivoco).
Ejecute el fragmento para ver el código.
Esto funciona porque puede definir sus propios formatos de fecha en Hojas de cálculo de Google. Lo hice para que así sea
<month>.<day><year>
.fuente
Pyke ,
1615 bytes, codificación ASCIIExplicación:
o 11 bytes (no competitivo), (agrega cadenas individuales, año de 2 dígitos, sumables de cadenas)
Explicación:
fuente
JavaScript ES6,
6866 bytes¡Guardado 2 bytes gracias a dev-null!
Función anónima. Algunos usos:
fuente
with
Tcl / Tk, 58 bytes
(Es un programa completo. Si desea hacer trampa y eliminar la
puts
declaración explícita , entonces solo tiene 51 bytes; sin embargo, tendría que iniciar tclsh y escribir / pegar lo siguiente :)fuente
Java 114 bytes
fuente
float p(float d){return d*Float.parseFloat(new SimpleDateFormat("MM.ddyy").format(new Date()));}
Raqueta, 112 caracteres.
Lee el número de entrada en la sintaxis estándar del lector.
fuente
TI-84 Basic, 30 bytes
Funciona en calculadoras TI-83/84; E es el token de notación científica y ~ es el token negativo.
Caso de prueba
fuente
R 48 bytes
fuente
MATL , 17 bytes
Pruébalo en línea!
fuente
TI-BASIC,
16139 bytesRedondeamos
π
a un número de decimales igual al mínimo de{month,day,year}
, y luego lo multiplicamos por la entrada.Esta es una función que toma información a través de X. Almacénela en una de las variables Y, por ejemplo
Y1
, y luego llame comoY1([number])
en la pantalla de inicio.fuente
Ans
se permite recibir información a través deAPL , 19 bytes
⎕TS
es2016 3 14 12 34 56 789
decir, en marzo 14 rd , 2016 justo antes de 24:35⍕
convertir en cadena, es decir,'2016 3 14 12 34 56 789'
8↑2↓
soltar dos primeros ('20'
) y luego tomar el próximo ocho ('16 3 14 '
)2⌽
gire dos personajes, dando' 3 14 16'
⍎
maquillaje en números (3 14 16
)⌽
revertir la lista, dando a16 14 3
0.01⊥
evaluar en la base ¹/₁₀₀ , = 16 × 0.01² + 15 × 0.01¹ + 3 × 0.01⁰ = 0.0016 + 0.15 + 3 = 3.1416⎕×
multiplicar con entradao
⎕TS
es2016 3 14 12 34 56 789
, decir, en marzo 14 rd , 2016 justo antes de 24:35⍕
convertir en cadena, es decir,'2016 3 14 12 34 56 789'
7↑2↓
soltar dos primeros ('20'
) y luego tomar el próximo siete ('16 3 14'
)2⌽
gire dos personajes, dando' 3 1416'
⍎
maquillaje en números (3 1416
)⌽
revertir la lista, dando a1416 3
1E¯4⊥
evaluar en la base ¹/ ₁₀₀₀₀, = 1416 × 0.01¹ + 3 × 0.01⁰ = 0.1416 + 3 = 3.1416⎕×
multiplica con entradafuente