C Programming Language/C

C์–ธ์–ด ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์˜ rand() ํ•จ์ˆ˜

567Rabbit 2024. 6. 18. 21:17

rand() ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ํ•จ์ˆ˜

 

- ๋ฌด์ž‘์œ„ ์ˆซ์ž(๋‚œ์ˆ˜)๋ฅผ ์ƒ์„ฑํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋˜๋Š” ํ‘œ์ค€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ํ•จ์ˆ˜

- ๋‚œ์ˆ˜(random number)๋Š” ๊ทœ์น™์„ฑ์ด ์—†์ด ์ž„์˜๋กœ ์ƒ์„ฑ๋˜๋Š” ์ˆ˜์ด๋‹ค.

- ๋‚œ์ˆ˜๋Š” ์•”ํ˜ธํ•™์ด๋‚˜ ์‹œ๋ฎฌ๋ ˆ์ด์…˜, ๊ฒŒ์ž„ ๋“ฑ์—์„œ ํ•„์ˆ˜์ ์ด๋‹ค

- rand() ํ•จ์ˆ˜๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ ๋™์ผํ•œ ์‹œํ€€์Šค์˜ ์ˆซ์ž๋ฅผ ์ƒ์„ฑํ•œ๋‹ค

- ์„œ๋กœ ๋‹ค๋ฅธ ๋ฌด์ž‘์œ„ ์ˆซ์ž ์‹œํ€€์Šค๋ฅผ ์ƒ์„ฑํ•˜๋ ค๋ฉด srand() ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์‹œ๋“œ๋ฅผ ์„ค์ •ํ•ด์•ผ ํ•œ๋‹ค.

- ์ผ๋ฐ˜์ ์œผ๋กœ ์‹œ๋“œ(seed)๋ฅผ ์„ค์ •ํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ํ˜„์žฌ์˜ ์‹œ๊ฐ์„ ์‹œ๋“œ๋กœ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด๋‹ค.

- ํ˜„์žฌ์‹œ๊ฐ์€ ์‹คํ–‰ํ•  ๋•Œ๋งˆ๋‹ค ๋‹ฌ๋ผ์ง€๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

 

 

// ๋ฌด์ž‘์œ„๋กœ ์ƒ์„ฑ๋œ ๋ง์…ˆ ๋ฌธ์ œ ํ€ด์ฆˆ ํ”„๋กœ๊ทธ๋žจ
// %10์œผ๋กœ ํ•˜์—ฌ, 1๋ถ€ํ„ฐ 9๊นŒ์ง€์˜ ๋‚œ์ˆ˜๋ฅผ ๋ฐœ์ƒ์‹œํ‚จ๋‹ค.

#include <stdio.h>
#include <stdlib.h>  #๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ž„ํฌํŠธ
#include <time.h>

int main(void)
{
    int x, y, answer, i;
    srand(time(NULL));  //ํ˜„์žฌ ์‹œ๊ฐ„์„ ์‹œ๋“œ๋กœ ์„ค์ •ํ•˜์—ฌ rand() ํ•จ์ˆ˜๊ฐ€ ๋งค๋ฒˆ ๋‹ค๋ฅธ ๋ฌด์ž‘์œ„ ์ˆซ์ž๋ฅผ ์ƒ์„ฑํ•˜๋„๋ก ํ•จ
    
    for (i = 0 ; i < 10 ; i++)
    {
    	x = rand() % 10;
        y = rand() % 10;
        printf("%d + %d = ", x, y);
        scanf("%d", &answer);
        if( x + y == answer)
        	printf("๋งž์•˜์Šต๋‹ˆ๋‹ค\n");
        else
        	printf("ํ‹€๋ ธ์Šต๋‹ˆ๋‹ค\n");
    }
    return 0;
}