bueno, es algo similar a esta pregunta pero con algunas pequeñas diferencias. tienes que escribir un programa para pedir el ancho de la barra de progreso y cuánto trabajo se realiza. y luego dibuje una barra de progreso con las siguientes características:
ancho indica cuántos caracteres tiene que usar para dibujar la barra de progreso
El progreso se da a través de un valor de coma flotante entre 0..1.
el primer y último carácter en la barra de progreso debe ser algo diferente de todos los demás caracteres, por ejemplo "[" y "]"
su programa debe usar dos caracteres diferentes para la cantidad de progreso que pasó desde el inicio
tienes que escribir cuánto trabajo se hace justo en el medio de la barra de progreso, usando un número decimal + signo "%".
punto de bonificación por manejar entradas extremas, como 150% o -5% de trabajo realizado.
Número de caracteres de puntuación * (1 sin bonificación o 0,75 de ancho)
algunos ejemplos de salidas válidas
79 0.15
[|||||||||||| 15% ]
25 0.76
[##########76%#####.....]
39 -0.12
[ -12% ]
25 7.6
[##########760%#########]
fuente
Respuestas:
PHP 84 x 0.75 = 63
Editar: una versión menos 'bonita', pero debe ser válida de acuerdo con las reglas:
Salida:
Original (98 x 0.75 = 73.5)
Salida:
fuente
J, 78 × 0,75 = 58,5
(Los números negativos en J tienen el prefijo
_
, no-
. Afortunadamente, la diádica".
puede analizar ambos formatos).fuente
_12%
que no está exactamente en el medio.Perl, 96 × ¾ = 72
Eso es según las reglas tradicionales de golf de Perl (
#!
línea no contada, excepto para los-
interruptores y si los hay)fuente
Ruby - puntuación 93 (124 caracteres)
Otra implementación más de rubí. Lee la entrada de STDIN en la forma descrita anteriormente. Es posible intercambiar los personajes
'#'
,' '
y'['
,']'
directamente en el código.fuente
Python -
158155148143138 caracteres (puntuación de 103,5)Podría tener 30 caracteres menos si la entrada se separa con una coma.
fuente
r=p.length()
?Q, 90 caracteres, sin bonificación
uso
fuente
Scala 149:
sin golf:
Decidí que, para facilitar la lectura, realmente necesitas un espacio alrededor del número de progreso:
fuente
C, 145 caracteres, puntaje = 108.75
fuente
20 1
entradas que generará la salida de,[#######100%######]
en este caso hay 7 objetos punzantes a la izquierda del número y 5 objetos punzantes a la derecha, por lo que el número impreso no está exactamente en la mitad.node.js: 135 caracteres, * 0.75 para puntos de bonificación, entonces 101.25 caracteres.
sin golf:
salida:
fuente
PHP-128x0.75 => 96
C, 149 * 0.75 = 111.75
Salida:
fuente
JavaScript
127125, sin bonificaciónUso: cambio
l=9
con otra longitud y / o cambiop="0.99"
con otro porcentajeNota: termina con cero en
0.X0
lugar de0.X
fuente
MATL , puntaje 35.25 (47 * 0.75)
Pruébalo en línea!
Explicación:
fuente
Excel VBA, 108 * .75 = 81 bytes
Una función que toma la entrada de
[A1]
y[B1]
y da salida a la consolaSalida
con entrada
[A1]=25
y[B1]=.76
Con entrada
[A1:B1].Resize(1,2)=Split("32 -.5")
Con entrada
[A1:B1].Resize(1,2)=Split("40 10.01")
fuente