elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Introducción a Git (Primera Parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  ¿Cual es el método más simple de obtener 1 o -1 por azar?
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: ¿Cual es el método más simple de obtener 1 o -1 por azar?  (Leído 2,826 veces)
Tachikomaia


Desconectado Desconectado

Mensajes: 1.217


Superhacker (es broma xD )


Ver Perfil
¿Cual es el método más simple de obtener 1 o -1 por azar?
« en: 24 Octubre 2023, 11:25 am »

Lo que se me ocurre es:
Código:
N = random(2)
// Genera 0 o 1.
Si N == 0
  N = -1

Quiero saber qué otros modos, más simples (es un poco subjetivo qué es simple, pero vemos), hay de lograr eso.

Le pregunté a GPT pero... no:
cual es el proceso más simple para obtener un N tal que sea 1 o -1

Citar
Si deseas obtener un número "N" que sea igual a 1 o -1, el proceso más simple sería asignar directamente el valor deseado a la variable "N". En términos de programación, puedes hacerlo de la siguiente manera:

Si quieres asignar 1 a "N":
```
N = 1
```

Si quieres asignar -1 a "N":
```
N = -1
```

Estos son ejemplos simples y directos de asignación de valores a una variable en diferentes lenguajes de programación. Dependiendo del contexto y el problema específico que estés abordando, puede haber diferentes formas de obtener un valor de 1 o -1, pero en general, asignar el valor directamente es la forma más simple de lograrlo.

por azar

Citar
Si deseas obtener un número "N" de forma aleatoria entre 1 y -1, puedes seguir estos pasos:

1. Utiliza una función o método proporcionado por el lenguaje de programación que estés utilizando para generar un número aleatorio.
2. Ajusta el rango del número aleatorio para que esté entre 0 y 1.
3. Resta 0.5 al número aleatorio para que esté entre -0.5 y 0.5.
4. Multiplica el número aleatorio por 2 para que esté entre -1 y 1.
5. Redondea el número al entero más cercano.
6. Asigna el valor resultante a la variable "N".

A continuación, se muestra un ejemplo en Python:

```python
import random

random_number = random.uniform(0, 1)  # Genera un número aleatorio entre 0 y 1
random_number -= 0.5  # Ajusta el rango alrededor de 0
random_number *= 2  # Ajusta el rango entre -1 y 1
N = round(random_number)  # Redondea al entero más cercano

print(N)
```

Este código generará aleatoriamente un número "N" que será igual a 1 o -1. Ten en cuenta que cada vez que ejecutes el código, obtendrás un resultado diferente debido a la naturaleza aleatoria de la generación de números.

solamente 1 o -1, por azar

Citar
Si deseas obtener aleatoriamente un número que sea específicamente 1 o -1, sin incluir ningún otro valor, puedes utilizar una función de generación de números aleatorios que genere un número entero aleatorio entre 0 y 1 y luego asignar -1 si el número es 0 y 1 si el número es 1. Aquí tienes un ejemplo en Python:

```python
import random

random_number = random.randint(0, 1)  # Genera un número entero aleatorio entre 0 y 1

if random_number == 0:
    N = -1
else:
    N = 1

print(N)
```

En este caso, la función `random.randint(0, 1)` generará un número entero aleatorio que puede ser 0 o 1. Luego, se verifica el valor generado y se asigna -1 a la variable "N" si el número es 0, o se asigna 1 si el número es 1. De esta manera, obtendrás aleatoriamente un número que será exclusivamente 1 o -1.
[/color]

Quizá es posible hacerlo en 1 línea o 2, sin if, mediante hacer algunas operaciones matemáticas...

PD: La etiqueta de color funciona mal aquí al incluir un quote parece, no voy a ponerla y quitarla en cada parte.


« Última modificación: 24 Octubre 2023, 11:28 am por Tachikomaia » En línea

#!drvy


Desconectado Desconectado

Mensajes: 5.850



Ver Perfil WWW
Re: ¿Cual es el método más simple de obtener 1 o -1 por azar?
« Respuesta #1 en: 24 Octubre 2023, 12:31 pm »

Si lo quieres en python puedes utilizar random.choice.

Código
  1. from random import choice
  2.  
  3. print(choice([-1, 1]))


En tu ecuación original, asumiendo que random(2) te genera o bien 0 o bien 1, puedes hacer:

Código:
// Genera 0 o 1, lo multiplica por 2 (0*2 = 0) (1*2 = 2) y le resta 1 (0-1 = -1) (2-1 = 1)
N = random(2) * 2 - 1

o lo mismo aplicado en python:

Código
  1. from random import randint
  2.  
  3. rand = randint(0, 1) * 2 - 1
  4.  
  5.  
  6. print(rand)


Saludos


« Última modificación: 24 Octubre 2023, 12:42 pm por #!drvy » En línea

Tachikomaia


Desconectado Desconectado

Mensajes: 1.217


Superhacker (es broma xD )


Ver Perfil
Re: ¿Cual es el método más simple de obtener 1 o -1 por azar?
« Respuesta #2 en: 24 Octubre 2023, 17:33 pm »

Buscaba algo como lo 2ndo, me saco los sombreros ante usted señor.
« Última modificación: 24 Octubre 2023, 17:38 pm por Tachikomaia » En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Azar -Nombres batch al azar -please ayuda
Scripting
usuario oculto 4 4,128 Último mensaje 16 Diciembre 2008, 19:44 pm
por SmartGenius
¿Cual es el formato de video mas simple?
Multimedia
do-while 2 5,684 Último mensaje 10 Marzo 2010, 11:49 am
por do-while
[SOLUCIONADO] Cual es la forma más simple de obtener el tamaño de una carpeta?
.NET (C#, VB.NET, ASP)
Eleкtro 5 5,169 Último mensaje 14 Enero 2013, 04:47 am
por Novlucker
¿Cual es el metodo para ser Poliglota?
Foro Libre
bacanzito 2 2,740 Último mensaje 19 Octubre 2013, 23:21 pm
por Stakewinner00
Cual es hoy en dia el mejor metodo
Hacking Wireless
Sonic_Soy 1 8,306 Último mensaje 25 Noviembre 2022, 16:05 pm
por MCKSys Argentina
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines