Programming Language/C언어

[C언어] 난수(random number) 생성

lxvxxu 2024. 7. 10. 11:33

[C언어] 난수(random number) 생성

 

 


C가 기본적으로 제공하는 rand() 함수는 난수를 생성하는데 구체적으로 0~32767까지의 난수를 반환하다.

 

(rand() % 최댓값) + 최솟값

 

#include <stdio.h>
#include <stdlib.h>
#include <time.h>

int main(){
	srand(time(NULL));	// 난수 초기화는 main 함수 안에서 진행한다.ㄷ
	int dice = (rand() % 6) + 1;
	return 0;
}

 

srand()

※ seed: 난수 생성기의 초기값

 

난수 생성기의 초기값을 설정한다.

설정하지 않으면 항상 같은 난수값이 얻어진다.

 

컴퓨터는 항상 초단위로 현재 시각을 관리하고 있다.

따라서 time_t형으로 시간 변수를 하나 선언하고 이것의 주소를

srand() 함수로 전달하여 난수 생성기의 초기값을 시간으로 설정하면 매번 다른 난수값을 얻을 수 있다.


※ Java 랜덤 함수

(int)(Math.random() * 최댓값) + 최솟값

 

https://library1008.tistory.com/44

 

자바 랜덤함수(Java Random)

자바 랜덤함수를 사용하는 방법은 2가지가 있습니다. Random 클래스와 Math 클래스를 각각 사용해서 random value 를 생성하는 방법에 대해 설명 드리겠습니다. 1. Java.util.Random Random 클래스의 객체를 생

library1008.tistory.com

 

 

 

 

 

 

 

'Programming Language > C언어' 카테고리의 다른 글

[C언어] 입력 버퍼 지우는 함수  (0) 2024.11.08
[C언어] 동적 할당  (0) 2024.11.08
[C언어] 입출력 함수  (1) 2024.07.10
[C언어] 문자열 함수, 문자 함수  (0) 2024.07.09
[C언어] #include <math.h>  (0) 2024.07.09