C++ 공부 6일 차
오늘은 2일 차에서 공부했던 '기본 프로그래밍'에서 뒤에 있는 프로그래밍 실습의 문제들을 모두 풀어보았습니다.
그 중에서도 난이도가 제일 높았던 문제들을 올리겠습니다.
2.6 (정수의 자리 수 더하기) 0에서 1000 사이의 정수를 입력받아 정수에 있는 각 자리수를 더하는 프로그램을 작성하여라. 예를 들어, 입력한 정수가 932라면 각 자리수의 합은 14가 된다.
각 자리수를 더하는 프로그램이기 때문에,
100의 자리수는 100으로 나누어서 구하고, (932 -> 9)
10의 자리수는 % 100을 하여 백의 자리수를 버린 후, 10으로 나누어서 구하고, (932 -> 32 -> 3)
1의 자리수는 % 10을 한 나머지로 구했습니다. (932 -> 2)
그 뒤, 각 자리수를 모두 더한 res를 출력했습니다.
2.13 (금융 문제: 복리 계산) 매달 $100를 저축하고 연 이자율이 5%라면, 월 이자율은 0.05 / 12 = 0.00417이 된다. 첫 달의 잔액은 원금에 이자를 더해서 다음과 같이 계산할 수 있다.
100 * (1 + 0.00417) = 100.417
두 번째 달에는 다음 금액이 된다.
(100 + 100.417) * (1 + 0.00417) = 201.252
세 번째 달에는 다음 금액이 된다.
(100 + 201.252) * (1 + 0.00417) = 302.507
매달 저축액을 입력받아 6개월 후
의 적립 금액을 출력하는 프로그램을 작성하여라.
연 이자율은 5%로 고정되어있기 때문에 월 이자율은 0.00417 + 1를한 1.00417로 사용했습니다.
그 뒤, 9번째 줄의 value를 선언하여 첫 달의 잔액을 계산하고, 반복문을 사용하여 다음 달의 잔액을 계산하고,
해당 달의 잔액을 value에 다시 저장합니다. 이미 첫 달의 잔액을 계산하였기 때문에, 남은 다섯 달만 반복하여 잔액을 계산합니다.
반복문이 끝난 변수 res의 값을 출력합니다.
'Week2' 카테고리의 다른 글
Week 2 - 21.08.03 (0) | 2021.08.03 |
---|