반응형

기타 12

[C언어 반복문] 약수의 합이 자신의 5배를 넘을 수 있을까?

고등학교 시절에 저는 문득 이런 생각을 가지게 되었습니다. 과연 어떤 수의 약수의 합이 자신의 5배를 넘을 수 있을까? 그래서 실제로 그런 수가 존재하는지 C언어의 반복문을 통해 통해 확인해보고자 하였습니다. 사실 결론부터 말하자면, 위 사진을 참고해보셔도 그렇겠지만, 이미 구했습니다! 따라서 해법과 탐색 과정을 소개해드리도록 하겠습니다. 이론적 배경 우선 어떤 수의 약수의 합이 어떤 수와 비교하였을 때 그 대소 관계에 따라 분류되는 명칭이 다릅니다. 모든 자연수들은 약수의 합과 자신의 대소 관계에 따라 다음의 3가지로 분류될 수 있습니다. 어떤 자연수 n에 대하여, n을 제외한 모든 n의 약수들의 합이 n보다 작다면, n을 부족수라고 합니다. 예를 들어, 9의 진약수는 1과 3이 있는데 (진약수이므로 ..

기타 2021.01.07

C언어 시간표 만들기, 시간표 배정 실생활 문제 해결해보기

C언어가 가지는 장점 중 하나는 연산속도가 빠르다는 것인데요, 이 장점을 이용해 여러가지 배정 문제를 생각보다 많은 반복문을 이용해서도 무난히 해결할 수 있습니다. 배정 문제 중 대표적인 응용분야는 바로 학생들의 시간표를 배정하는 문제인데요, 이번 포스팅에서는 제가 직접 의뢰받았던 시간표 배정 문제를 C언어를 통해 해결한 것을 정리해보도록 하겠습니다. 문제 상황 89명의 학생들이 12개의 수업 중 3개를 각각 선택해서 듣는 상황입니다. 구해야 하는 것은 12개의 수업을 최소 시간만 열어서 모든 학생들이 1~3교시동안 모든 3가지의 수업을 들을 수 있도록 하는 것입니다. 12개의 수업을 3교시 모두 open 한다면 각 교시에 수강하는 사람 수가 너무 적다는 문제가 발생해 비효율이 발생하고, 그렇다고 너무 ..

기타 2021.01.06
반응형