Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- Webhaking
- network
- XSS
- 워게임
- TCP
- ftz
- 해킹
- 시스템해킹
- webhacking
- 리버싱
- dreamhack
- Web
- 드림핵
- 소프트웨어
- WarGame
- bee-box
- 네트워크보안
- 모의해킹
- reversing
- 시스템
- 알고리즘
- 소프트웨어보안
- 비박스
- 순서도
- 웹해킹
- CodeEngn
- 웹
- 네트워크
- hacking
- System
Archives
- Today
- Total
Without a Break
기본 알고리즘 - 수학 본문
Count 알고리즘
- 영어 점수를 보관하는 배열 변수 JUMSU를 선언한다.
- 영어 점수가 80점 이상인 학생들의 수를 보관할 변수인 COUNT의 초깃값을 0으로 잡는다
- 변수 i를 증가시켜 배열 JUMSU를 하나씩 비교할 것이므로 i의 초깃값을 1로 잡는다.
- 반복문 : JUMSU의 i번째 원소가 80점이 넘는지 확인하고, 넘는다면 COUNT 값을 1 증가시킨다. i 값을 1씩 증가시켜 JUMSU의 원소를 차례대로 검사한다.
- JUMSU는 100개의 원소를 가지므로, i가 100이 넘으면 반복문을 끝낸다.
최댓값과 최솟값
- M : 영어 만점 중에서 수학 최고점을 보관하는 변수
- i : 배열을 차례로 검사하기 위해 사용하는 인덱스 변수
- 반복문 : 영어 점수가 100점인 학생일 경우, 수학 점수가 수학 최고점(M)을 넘는지 검사한다. 최고점을 넘을 경우, 해당 값을 최고점으로 등록한다. i를 증가시켜 점수를 차례대로 비교한다.
- 학생 수는 200명이므로 i가 200이 넘으면 반복문을 종료한다.
합계와 평균
- T(30) : 30일간의 통화 시간을 보관하는 배열 변수
- Sum : 한 달간의 총 통화시간을 보관하는 변수
- N : 총 통화시간을 계산하는데 참여한 날짜 수를 보관하는 변수
- i : 배열 변수 T를 검사하는데 사용하는 인덱스 변수
- 반복문 : i번째 날의 통화 시간을 Sum에 더하고, 총 통화시간 계산 날짜 수를 더한다.통화 시간이 200초가 넘지 않은 날은 총 통화시간 날짜 수에 더하지 않고 넘긴다. i를 증가시켜 차례대로 계산한다.
- Sum/N을 통해 한달간 통화시간의 평균을 구해 출력한다.
소수 판별
- P : 가장 큰 소수를 보관하는 변수
- N : 자연수 3부터 100까지 소수 여부를 조사할 때 사용하는 변수
- M : 자연수 N의 제곱근을 정수로 구하여 저장하는 변수
- R : 자연수 N을 변수 i로 나눈 나머지를 R에 저장한다.
- 반복문 : R이 0이면 소수가 아니므로 나머지 과정 8과 2를 생략한다. R이 0이 아닌 경우, 그 다음 자연수에 대하여 반복해서 점검을 진행한다. R을 계산하는 작업은 최대 M까지 진행하고, 새로운 소수가 발견되면 P를 갱신한다.
- 자연수가 100을 넘으면 반복문을 종료하고 소수를 출력한다.
소인수분해
- 입력 받은 자연수 N이 2 이상일 경우에만 수행한다.
- 인수들을 보관하는 배열 A의 인덱스 T를 0으로 설정한다.
- 인수 후보(P)는 2부터 시작하여 1씩 증가한다.
- 자연수 N이 P로 나누어떨어지지 않으면 P를 증가시킨다.
- T는 배열 A의 인덱스이므로 먼저 1만큼 증가시킨 후, 이것이 가리키는 배열 A에 P를 증가시킨다.
- 현재 자연수 P를 나눈 몫을 새로운 자연수로 설정하여 이 값이 1인지 검사하고 1이 아니면 반복문을 반복한다.
- 배열 A의 원소 개수가 1개이면 입력 받은 자연수는 소수이다.
배수와 공배수
- A(10) : 10개의 값을 보관할 배열 변수 A
- CNT : 3의 배수이자 4의 배수인 수의 개수를 보관하는 변수
- 반복문 : N3에서 배열 A의 i번째 원소가 3의 배수인지 검사하고, N4에서 배열 A의 원소가 4의 배수인지 검사한다. N3과 N4의 합이 0이면 배열 A의 i번째 원소는 3의 배수이면서 4의 배수이라는 뜻이므로 CNT를 1 증가시킨다.
- i가 10보다 크면 반복문을 종료한다.
'Algorithm > 컴퓨터알고리즘' 카테고리의 다른 글
코드변환과 패리티비트 점검 알고리즘 (0) | 2022.10.31 |
---|---|
10진수와 2진수 변환, 10진수와 16진수 변환 (0) | 2022.10.30 |
[순서도 실습] 백준 2747번 - 피보나치 수 (0) | 2022.10.10 |
누승 활용 수열, 제곱의 합, '+,-' 교행 수열 (0) | 2022.10.07 |
[순서도 실습] 백준 11653번 - 소인수분해 (C) (0) | 2022.10.03 |