알고리즘 문제를 풀다 보면 정수 각 자릿수의 합을 구하라는 문제가 있음. 주로 나는 입력된 정수값을 문자열 배열에 각 자릿수를 넣고, 그 자릿수를 각각 정수화해서 더했는 데, 이보다 쉬운 방법을 찾게 됨.
정수 자릿수의 합 구하기
#include <iostream>
int main()
{
int a=12345;
int sum=0;
while (a>0){
sum+=a%10;
a=a/10;
}
printf("%d", sum);
return 0;
}
1) a를 10으로 나눈 나머지는 1의 자릿수이다. 그 값을 정수 sum 변수에 더한다.
2) a를 10으로 나눈 후 다시 반복한다. 이는 a를 10으로 나누면 0이 나올 때까지 반복한다.
그러면 모든 자릿수를 더한 값을 구할 수 있다.
'C C++ > C C++ 유용한 알고리즘 기법' 카테고리의 다른 글
[C/C++] 맵(좌표) 동서남북 알고리즘 문제 고찰 (0) | 2022.08.08 |
---|---|
[C/C++] 정수 자릿수 뒤집기 (0) | 2022.07.17 |
[C/C++] 거듭제곱 함수 만들기 (0) | 2022.07.16 |
[C/C++] 정수 자릿수 세기 (0) | 2022.07.16 |
[C/C++] 소문자-대문자 변환, 대문자-소문자 변환 (0) | 2022.07.10 |
댓글