Link
Notice
Recent Posts
Recent Comments
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 윤파고
- 오일러투어
- 합의정리
- 무소의뿔
- 오블완
- 등록금0원
- 이분그래프
- 허스켈그래프
- 정보처리기사공부방법
- wxMaxima install for mac os
- 데이터베이스시스템
- playground배열
- 아이엔이야기
- 그래프2
- 다자녀장학금
- 청년도배사 이야기
- 티스토리챌린지
- 2023채용박람회
- 쌍대성원리
- 직선의방정식
- kgol
- 맥북에서 wxMaxima 설치
- wxmaxima
- 배윤슬
- 나르시스트
- 이런 사람에게 "절대" 돈과 시간 쓰지 마세요. (이헌주 교수 3부)
- 제거된값 첨부하기
- 숫타니파아타
- 집착형
- 최단경로문제
Archives
- Today
- Total
사적공간
주사위를 10번 굴려, 1~6 까지 무작위 출현 빈도를 배열에 값으로 저장 후 출력 본문
주사위를 10번 굴려, 1~6 까지 무작위 출현 빈도를 배열에 값으로 저장 후 출력
(18년도 3회 기출문제 )
# include<stdio.h>
# include<stdlib.h>
# include<time.h>
void main() {
int hist[6] = {0, }; // 1. 크기가 6인 정수 배열 hist를 선언하고 0으로 초기화합니다. 각 요소는 주사위의 눈의 빈도를 저장합니다.
int n, i = 0; // 2. 변수 n과 i를 선언하고 i를 0으로 초기화합니다.
srand(time(NULL)); // 3. srand 함수를 호출하여 현재 시간을 기반으로 시드를 설정합니다. 이는 무작위한 난수 생성을 위한 초기화입니다.
do{ // 4. do-while 루프: 주사위를 10번 던지고 각 던진 결과를 기록합니다.
i++; // 5. i를 증가시킵니다.
n = rand()%6 + 1; // 6. 1부터 6까지의 난수를 생성하여 n에 저장합니다. 이는 주사위의 눈을 나타냅니다.
hist[n-1] += 1; // 7. hist 배열에서 n-1 위치의 요소에 1을 더하여 주사위의 눈의 빈도를 기록합니다.
} while(i<10); // 8. i가 10보다 작을 때까지 루프를 반복합니다.
for(i=0; i<6; i++) // 9. for 루프: 1부터 6까지의 주사위 눈에 대해 빈도를 출력합니다.
printf("h[%d] = %d\n", i, hist[i]); // 10. hist 배열의 각 요소를 출력합니다.
}
`rand()%6`는 0부터 5까지의 난수를 생성합니다. 주사위의 경우 눈은 1부터 6까지 있으므로 이를 맞추기 위해 1을 더해줍니다. 따라서 `rand()%6 + 1`은 1부터 6까지의 난수를 생성합니다.
`n = rand() % 7`을 사용하는 것은 올바른 방법이 아닙니다. 이렇게 하면 0부터 6까지의 값을 얻게 되므로, 주사위의 눈을 표현하기에 적합하지 않습니다. 주사위의 눈은 1부터 6까지이므로, 1부터 6까지의 값을 얻기 위해선 `rand() % 6 + 1`을 사용해야 합니다. 여기서 `rand() % 6`은 0부터 5까지의 값을 생성하게 되고, 여기에 1을 더해주면 1부터 6까지의 값을 얻을 수 있습니다. 따라서 `n = rand() % 6 + 1`이 올바른 방법입니다.
h[0] = 1
h[1] = 3
h[2] = 1
h[3] = 2
h[4] = 2
h[5] = 1
출처: chatgpt3.5
'자격증 > 정보처리기사_실기' 카테고리의 다른 글
최대공약수와 최소공배수 구하기 (1) | 2024.03.29 |
---|---|
소수의 합 (2) | 2024.03.29 |
소수 구하기 (0) | 2024.03.28 |
7개의 값을 입력받고, 최대값과 최소값, 그리고 앞의 두 값을 제외한 합계와 평균 구하기 (0) | 2024.03.28 |
최댓값/최솟값 구하기 (0) | 2024.03.28 |