집주인, 내 알고리즘을 너는 전혀 이해하지 못했다, 나는 무거운 번호가 없을 것이라고 장담한다.
내 알고리즘은 다음과 같습니다: 먼저 1~64 정렬을 시퀀스로 작성한 다음 한 번 순회하고, 매번 무작위로 장소를 찾아 교환하여 무작위로 배열한 효과를 얻습니다.
이것은 매우 일반적으로 사용되는 임의 배열을 생성하는 알고리즘으로, 매우 기초적이고 간단한 프로그램이며 틀리지 않을 것이다.
믿지 않으면 도망가서 결과가 반복되는지 확인해 봐 ~ ~ ~
나는 네가 이해하는 것은 또 다른 알고리즘이라는 것을 알고 있다. 무작위로 숫자를 생성하고, 나타났는지 판단하고, 배열을 채운다는 것을 안다. (존 F. 케네디, 컴퓨터명언) 내 알고리즘의 시간 복잡성은 O(n) 로, 네가 이해하는 것보다 더 효율적으로 임의 시퀀스를 생성하는 알고리즘이다. 열심히 공부해요 ~
= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
위층의 baiddd 프로그램이 틀렸다.
건물의 주된 것은 난수이다. 프로그램이 난수를 생성할 수 있습니까?
Rand () 는 일반적으로 난수를 생성하는 데 사용됩니다.
다음은 내 프로그램입니다. 집주인은 1 에서 64 까지의 임의 배열을 만들어 볼 수 있습니다.
# include & ltstdio.h & gt
# include & lttime.h & gt
# include & ltstdlib.h & gt
Int main ()
{
문자 번호 [64];
Int I;;
Int a, tmp
For(I = 0;; 나 & lt64; I++) num [I] = I+1;
Srand (시간 (0));
For(I = 0;; 나 & lt64; I++)
{
A = rand()% 64;;
Tmp = num [I];
숫자 [I]= 숫자 [a];
Num [a] = tmp;
}
For(I = 0;; 나 & lt64; I++) printf("%d ",num [I]);
Printf ("\ n");
0 을 반환합니다
}