C Programming Language/C

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

567Rabbit 2024. 6. 18. 21:17

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

 

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

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

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

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

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

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

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

 

 

c, h
๋‹ซ๊ธฐ
// ๋ฌด์ž‘์œ„๋กœ ์ƒ์„ฑ๋œ ๋ง์…ˆ ๋ฌธ์ œ ํ€ด์ฆˆ ํ”„๋กœ๊ทธ๋žจ // %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; }