본문 바로가기

컴퓨터 과학/C 프로그래밍

난수 범위 구하는 방식

반응형
1. 최적화를 통한논리 연산

	srand((int)time(NULL));
    int val = rand() % 5 +3; 
    cout << "실습 1 :" << val << endl;
    
2. while문 및 조건 문을 사용한 방법


	srand(time(NULL));
    

    int num31 = 0;
    while (true) { //true 대신 1도 사용가능
        num31 = rand() % 10;
        if (num31 >= 3 && num31 <=7) {
            cout << "while문의 범위 난수 3~7 : " << num31 << endl;
            break;
        }
    }

3. 난수 범위 32767 이상값 표현 방법
	
	//rand 범위는 0~32767입니다.
	srand(time(NULL));
	int max = 40000;
	int min = -40000;
	int num = 0;
	int count = 1+ (max - min) / RAND_MAX;
	for (int i = 0; i < count; i++) {
		num += rand() % (max - min); //rand()범위값 나옴
	}
	num = num % (max - min);
	num = num + min;

	printf("%d", num);
반응형