난수 생성기

Hello World·2023년 5월 24일

난수를 만들기 위해 사용할 함수

  • srand 함수는 전달받은 인자를 기반으로 rand 함수에 사용될 수를 초기화 시켜줍니다.
  • rand 함수는 0~ RAND_MAX(=32767) 범위 내에서 랜덤한 숫자를 반환합니다.
  • time 함수는 UCT 기준 1970년 1월 1일 0시 0분 0초 부터 경과된 시간을 초(sec)로 반환합니다. 인자값으로 NULL을 넘기면 현재까지 흐른 초수를 리턴합니다.

rand, time 함수 사용

 srand(time(NULL));

rand() 함수는 프로그램이 생성될때 딱 값이 정해지기 때문에 프로그램을 여러번 실행시켜도 동일한 값이 나옵니다. 그래서 위 코드를 rand 함수 호출 전에 선언하면 현재 시간(시간은 계속 흐르므로)을 기준으로 초기화되는 진정한 난수를 만들 수 있습니다.

rand 함수 사용 방법

  • rand() % n : 0 ~ n-1 범위의 난수를 생성합니다.
  • rand() % n + 1 : 1 ~ n 범위의 난수를 생성합니다.

1 ~ 7 범위의 난수 생성

#include <stdio.h>
#include <stdlib.h>		// rand, rand
#include <time.h>		// time

int main()
{
	srand(time(NULL));

	int random = rand() % 7 + 1;

	printf("%d", random);

	return 0;
}

0개의 댓글