5자리 숫자 숫자가 있다고 가정합니다. 우리는 그 숫자의 합을 찾아야 합니다. 이를 위해 오른쪽에서 왼쪽으로 숫자를 제거합니다. 매번 숫자를 10으로 나누고 나머지는 마지막 숫자가 된 다음 몫으로 숫자를 업데이트하고(정수 부분만) 마지막으로 숫자는 끝에 0으로 줄어듭니다. 따라서 숫자를 합산하면 최종 합계를 얻을 수 있습니다.
따라서 입력이 num =58612와 같으면 5 + 8 + 6 + 1 + 2 =22이므로 출력은 22가 됩니다.
이 문제를 해결하기 위해 다음 단계를 따릅니다. −
- num :=58612
- 합계 :=0
- num이 0이 아닌 동안 수행:
- 합계 :=합 + 숫자 모드 10
- 숫자 :=숫자 / 10
- 반환 합계
예시
이해를 돕기 위해 다음 구현을 살펴보겠습니다. −
#include <stdio.h> int main(){ int num = 58612; int sum = 0; while(num != 0){ sum += num % 10; num = num/10; } printf("Digit sum: %d", sum); }
입력
58612
출력
Digit sum: 22