Autor Tema: Resuelto: Generar números 0, 1, -1, 2, -2, 3, -3... 99, -99...

0 Usuarios y 1 Visitante están viendo este tema.

10 Enero, 2026, 11:38 am
Leído 866 veces

Tachikomaia

  • $$\Large \color{#5b61b3}\pi\,\pi\,\pi\,\pi\,\pi$$
  • Mensajes: 1,297
  • País: uy
  • Karma: +0/-0
  • Sexo: Masculino
Logré 0, -1, 1, etc, o sea, los negativos 1ero:
Código: [Seleccionar]
Action = 0;
// Usada repetidamente por un objeto en el frame 1:
function FuerzaBruta () {
Mensaje = "Probando "+Action;
if (Action>9) {
// Solución; mostrar en pantalla y fin.
Mensaje = "Se recomienda la acción "+Action;
gotoAndStop (2);
} else if (Action < 0) {
Action = Action*-1;
} else {
Action = (Action+1)*-1;
}
}
stop ();

Le pregunté a GPT cómo hacerlo más eficiente y decidí pasar de lo que dijo  :o :P
https://poe.com/s/bxpuPhjPjWSh0v7ZtnfB

Lo que me choca es el paréntesis, creo que debe haber algo mejor.

Por otro lado, como dice el título quisiera que empezara por los positivos ¿cómo sería eso?


Edit: Ya veo, así:
Código: [Seleccionar]
} else if (Action > 0) {
Action = Action*-1;
} else {
Action = Action*-1+1;
}

Resuelto entonces, pero por curiosidad ¿empezando por negativos cómo sería?
Nota: Sin <=, ni >= ni paréntesis. Y eficiente y legible, no como la respuesta de GPT.

edit2: Así
Código: [Seleccionar]
} else if (Action < 0) {
Action = Action*-1;
} else {
Action = Action*-1-1;
}

10 Enero, 2026, 12:20 pm
Respuesta #1

Richard R Richard

  • Ingeniero Industrial
  • $$\Large \color{#9c57a6}\pi\,\pi\,\pi\,\pi\,\pi\,\pi$$
  • Mensajes: 4,054
  • País: ar
  • Karma: +2/-0
  • Sexo: Masculino
  • Dentro de la ciencia todo,fuera de la ciencia nada
Logré 0, -1, 1, etc, o sea, los negativos 1ero:
....

Por otro lado, como dice el título quisiera que empezara por los positivos ¿cómo sería eso?
Multiplica cada numero de la serie por -1

Si tienes 0,-1,1,-2,2... se transforma en 0,1,-1,2,-2....

o bien

Código: [Seleccionar]
lista =[0]
for  x  (1, n):
    lista additem(x)
    lista additem(-x)

print (lista)
Saludos  \(\mathbb {R}^3\)

10 Enero, 2026, 01:34 pm
Respuesta #2

feriva

  • $$\Large \color{#a53f54}\pi\,\pi\,\pi\,\pi\,\pi\,\pi\,\pi$$
  • Mensajes: 12,032
  • País: es
  • Karma: +1/-0
  • Sexo: Masculino
Logré 0, -1, 1, etc, o sea, los negativos 1ero:
Código: [Seleccionar]
Action = 0;
// Usada repetidamente por un objeto en el frame 1:
function FuerzaBruta () {
Mensaje = "Probando "+Action;
if (Action>9) {
// Solución; mostrar en pantalla y fin.
Mensaje = "Se recomienda la acción "+Action;
gotoAndStop (2);
} else if (Action < 0) {
Action = Action*-1;
} else {
Action = (Action+1)*-1;
}
}
stop ();

Le pregunté a GPT cómo hacerlo más eficiente y decidí pasar de lo que dijo  :o :P
https://poe.com/s/bxpuPhjPjWSh0v7ZtnfB

Lo que me choca es el paréntesis, creo que debe haber algo mejor.

Por otro lado, como dice el título quisiera que empezara por los positivos ¿cómo sería eso?


Edit: Ya veo, así:
Código: [Seleccionar]
} else if (Action > 0) {
Action = Action*-1;
} else {
Action = Action*-1+1;
}

Resuelto entonces, pero por curiosidad ¿empezando por negativos cómo sería?
Nota: Sin <=, ni >= ni paréntesis. Y eficiente y legible, no como la respuesta de GPT.

edit2: Así
Código: [Seleccionar]
} else if (Action < 0) {
Action = Action*-1;
} else {
Action = Action*-1-1;
}

Pero si lo que quieres es ver en pantalla la lista, no es más que generar la lista de los naturales; si la variable es "n", le dices que imprima "n" y debajo un "print" para "-n" (o al revés). Y el cero lo imprimes al principio aparte, si quieres.

Saludos.

10 Enero, 2026, 02:46 pm
Respuesta #3

Tachikomaia

  • $$\Large \color{#5b61b3}\pi\,\pi\,\pi\,\pi\,\pi$$
  • Mensajes: 1,297
  • País: uy
  • Karma: +0/-0
  • Sexo: Masculino
A largo plazo los números son para usar como candidatos a soluciones en búsquedas mediante fuerza bruta, así que en lo posible debe estar en un mismo loop.

Código: [Seleccionar]
Crear candidado
Loop
   Probar candidado
   Si sirve
      Mostrarlo y fin
   Sino
      Modificar candidato
No es sólo imprimir una lista.