Es muy fácil:
Cree un programa sin escribir una sola línea de código. El código solo puede consistir en preguntas y respuestas existentes de Stack Overflow.
El programa debe crear dos números aleatorios y generar los números.
- añadido a,
- extraído de,
- multiplicado con y
- dividido por
El uno al otro.
Reglas
Debe incluir enlaces a las preguntas / respuestas que utilizó en su respuesta. No puede modificar el código que encuentre, con las siguientes excepciones:
Puede cambiar el nombre de variables, funciones y métodos. (Esto no significa que pueda cambiar la invocación de un método, cambiando, digamos scanner.nextInt () a scanner.nextLine () y alegando que está cambiando el nombre de un método. El cambio debe estar en la definición o referencia al misma entidad). La solución aún debería funcionar si las variables, funciones o métodos serían renombrados nuevamente.
Puede ajustar la sangría adecuadamente.
Puede suponer que se cargan los módulos adecuados para que funcionen los fragmentos de código. (p. ej., declaraciones de importación para Java y Python, usando declaraciones para C # y C ++, y sus equivalentes en todos los idiomas) Si el fragmento de código incluye las importaciones por usted, puede moverlas a la parte superior del código.
Si el lenguaje requiere que el código esté en algún tipo de cuerpo de método para ejecutarse (por ejemplo,
public static void main(String[] args)
para Java,static int Main(string[] args)
para C #, etc.), puede ajustar su código en el método apropiado. Pero el contenido de ese método principal debe permanecer sin modificaciones.Debe proporcionar una lista explícita de cualquier variable / método / función / cambio de clase realizado.
No puede tomar fragmentos de fragmentos (es decir, si toma un bloque de código de una publicación, lo toma todo) Proporcione una breve descripción de lo que hace el código para las personas que no tienen intimidad con el idioma que está utilizando. Debe usar fragmentos publicados antes de que se inicie este desafío.
¡Concurso de popularidad, por lo que gana la mayoría de los votos!
Fecha tope
Aceptaré la presentación que tenga más votos a fines de agosto, 6.
Respuestas:
J, 7 preguntas / respuestas, ninguna sobre J
Es una forma bastante barata de hacerlo, no voy a mentir. Aquí están las respuestas SO que utilicé:
echo
Esta respuesta+
,-
,*
Y%
esta pregunta?
Esta respuesta[
Esta respuesta=
y:
esta pregunta wiki de la comunidad2147483647
Esta respuestafoo
Esta respuestaCambié el nombre de la variable
foo
comoa
yb
en el código.fuente
Python 2,
76 referenciasCrear esta solución no fue tan fácil como parecía. Buscar el desbordamiento de pila para código específico es difícil, ya que los símbolos no se incluyen en la búsqueda.
Había encontrado una manera de hacer esto con números aleatorios de 2000 bits, usando una respuesta diferente en lugar de la Ref. # 1,
pero no pude probarlo en los entornos en línea que uso, ya que involucraEsto realmente podría usarse ahora, con TIO.getrandbits
, qué llamadasos.urandom
, dándome unNotImplementedError
, así que fui por este lado.Pruébalo en línea
Referencias
import random
se supone que está cargado, ya que la pregunta dice que está permitido.lst = []
ylst.append(random.randint(1, 100))
- aquímap(sum, zip(r1, r2))
,map(lambda t: t[0] - t[1] ,zip(r1, r2))
,r1
, Yr2
- aquíresult = float(a) / b
- aquiab = [a[i]*b[i] for i in range(len(a))]
- aquifirst, last = some_list[0], some_list[-1]
- aquiprint x
- aquiRenombrado
lst
renombrado an1
yn2
(Ref. # 1: Usé el código completo dos veces)r1
yr2
renombrado comon1
yn2
(Ref. # 2: sin embargo, utilicé las variables separadas más adelante, para asignar los mapas y dividir en la última impresión, ya que la respuesta los incluyó).result
ya
renombrado aab
, yb
renombrado an2
(Ref # 3)a
yb
renombrado comon1
yn2
(Ref # 4)first
ysome_list
tanto a llamarse ar1
,r2
,ab
, on2
, dependiendo de la línea. (Ref. # 5: Usé esto cuatro veces. Tenga en cuenta que solo se usa la primera asignación, así que no cambio el nombrelast
)x
se cambia el nombre ar1
,r2
oab
, dependiendo de la línea. (Ref # 6)fuente
Decimal , 2 referencias
Comandos utilizados:
0
SET (índice de pila predeterminado)1
EMPUJAR2
CARBONIZARSE2
POPULAR3
I / O00
pila duplicada01
de la pila a STDOUT4
MATES1
AÑADIR2
SUSTRAER3
MULTIPLICAR4
DIVIDIR8
INCORPORADO2
empujar entero aleatorio para apilarVersión explicada:
Fuentes:
d
(en mayúscula)0
través de9
Pruébalo en línea! Tendrá que deshabilitar el caché de salida si no se deshabilita automáticamente.
fuente