c juego de lotería de idiomas
Propietario, no comprende mi algoritmo en absoluto. Le prometo que no habrá números duplicados.
Mi algoritmo es así: primero escriba el orden 1 ~ 64 en una secuencia, luego recorralo una vez y busque aleatoriamente un lugar para intercambiarlo cada vez para lograr el efecto de disposición aleatoria.
Este es un algoritmo muy utilizado para generar arreglos aleatorios. Es un programa muy básico y simple y no puede equivocarse.
Si no lo crees, simplemente ejecútalo y mira si el resultado se repite~ ~ ~
Sé que entiendes otro algoritmo, que genera aleatoriamente un número y luego determina Si ha aparecido antes, luego complete la matriz. La complejidad temporal de mi algoritmo es O (n), que es un algoritmo para generar secuencias aleatorias más eficiente de lo que imagina. Estudia mucho~
======================================= p >
El programa baiddd anterior es incorrecto.
Lo que más le importa al cartel son los números aleatorios. ¿Puede su programa generar números aleatorios?
Rand() se utiliza generalmente para generar números aleatorios.
El siguiente es mi programa. Puedes ejecutarlo para generar una matriz aleatoria del 1 al 64.
#incluye & ltstdio.h & gt
#incluye & lttime.h & gt
#incluye & ltstdlib.h & gt
int main()
{
Número de carácter [64];
int I
int a, tmp p>
for(I = 0;i<64;i++)num[I]= I+1;
srand(tiempo(0));
for( I = 0;i<64;i++)
{
a = rand()% 64;
tmp = num[I];
Número[I]=Número[a];
num[a]= tmp;
}
for(I = 0;I & lt64;i++ ) printf("%d ", num[I]);
printf(" \ n "
Devuelve 0
}