첫 번째 학생부터 차례대로 75점, 90점, 100점, 90점, 85점을 받았다고 하면,
① 첫 번째 학생 75점보다 더 높은 점수를 받은 학생은 4명이므로 첫 번째 학생은 5등이 된다.
② 두 번째 학생 90점보다 더 높은 점수를 받은 학생은 100점 한 명이므로 2등이 된다.
③ 세 번째 학생 100점보다 더 높은 점수를 받은 학생이 없으므로 1등이 된다.
④ 네 번째 학생 90점보다 높은 점수를 받은 학생은 100점 한 명이므로 공동 2등이 된다.
⑤ 다섯 번째 학생 85점보다 높은 점수를 받은 학생은 세 명이므로 4등이 된다.
--- p.78 「Chapter05 등수 구하기」 중에서
프로그램이 실행되면 처음으로 찾게 되는 부분은 main()이다. main()의 시작부터 마지막까지를 모두 main() 함수라고 부른다. 프로그램의 진행 순서는 폭포수처럼 main() 함수의 처음부터 마지막까지 차례로 실행되는 하향식으로 진행된다. 이렇게 프로그램이 진행되는 중간에 어떤 특정한 작업을 하기 위해서 따로 분기하여 처리하고 돌아와야 하거나 아니면 어떤 반복적인 작업을 처리해야 할 때가 있는데 이럴 때 함수를 만들어서 사용하게 되면 가독성이 좋아질 뿐만 아니라 문제 해결과 유지 보수에 탁월한 도움이 된다.
--- p.186 「Chapter13, 함수 Function」 중에서
유클리드 알고리즘(Euclidean Algorithm) 또는 유클리드 호제법은 2개의 자연수의 최대공약수를 구하는 알고리즘이다. 유클리드(Euclid, BC330? - BC275?)가 기원전 300년경에 쓴 『원론』 제7권에 나오는 가장 오래된 알고리즘이다. 두 개의 자연수 “A와 B에 대해서 A를 B로 나눈 나머지를 R이라고 하면(단, A≥B) A와 B의 최대공약수는 B와 R의 최대공약수와 같다”는 것이다. 이 성질을 이용하여 B를 R로 나눈 나머지 R1을 구하고, 다시 R을 R1으로 나눈 나머지 R2를 구하고 다시 R1을 R2로 나눈 나머지를 구하는 과정을 반복하다가 나머지가 0이 되었을 때 이때 나누는 수 제수가 A와 B의 최대공약수가 된다는 알고리즘이다.
--- p.282 「Chapter19, 최대공약수와 최소공배수 GCD & LCM」 중에서
체스판에서 나이트(Knight)가 ★의 위치에 놓여있다면 다음과 같은 위치에 놓인 말들을 잡을 수 있다.
2차원 공간이 주어지고 ★의 위치를 a[y][x]라고 하자. 1시 방향부터 시계 방향의 순서대로 y좌표의 방향 데이터를 배열 dy에 담으면 dy[8] = { -2, -1, 1, 2, 2, 1, -1, -2 }가 되고 x좌표의 방향 데이터를 배열 dx에 담으면 dx[8] = { 1, 2, 2, 1, -1, -2, -2, -1 }이 된다. 이것을 순서대로 정리하면 다음과 같다.
--- p.449 「Chapter 29, 방향 검색 Direction Check」 중에서