별의 공부 블로그 🧑🏻‍💻
728x90
728x170

다음과 같이 입력 받은 정수 N의 각 자리의 수를 배열을 사용하지 않고 반복문을 사용하여 합할 수 있다.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <stdio.h>
 
int main() {
    int N, sum = 0;
 
    scanf("%d"&N);
    
    for (int i = N; i != 0; i /= 10) {
        sum += (i % 10);
    }
    printf("정수 N의 각 자리수의 합 : %d", sum);
    
    return 0;
}
              

                                                                                        


12345
15



원리는 다음과 같다.


입력 받은 정수 N을 0이 될 때까지 10으로 계속 나누어 준 후, 10으로 mod 연산을 수행하면 된다.

그리고 나온 값들을 모두 더해주면 끝!


 [Step 1]

 12345

 12345 % 10 = 5 (다섯 번째 자리의 수)

 

 [Step 2]

 12345 / 10 ≒ 1234

 1234 % 10 = 4 (네 번째 자리의 수)


 [Step 3]

 1234 / 10 ≒ 123

 123 % 10 = 3 (세 번째 자리의 수)


 [Step 4]

 123 / 10 ≒ 12

 12 % 10 = 2 (두 번째 자리의 수)


 [Step 5]

 12 / 10 ≒ 1

 1 % 10 = 1 (첫 번째 자리의 수)


728x90
그리드형(광고전용)
⚠️AdBlock이 감지되었습니다. 원할한 페이지 표시를 위해 AdBlock을 꺼주세요.⚠️
starrykss
starrykss
별의 공부 블로그 🧑🏻‍💻


📖 Contents 📖