어떤 수의 자릿수를 구하는 알고리즘은 크게 세 가지로 생각할 수 있다. 1. 나머지 연산자를 이용하기 아이디어 중학교 수학시간에 자릿수에 대해서 배웠다. 자연수 k = 소수(0.xxx) x 10ⁿ으로 나타낼 때 k는 n자리 자연수라고 표현한다. 예를 들어 1234 = 0.1234 x 10⁴ 이므로 1234는 네 자리 자연수이다. 따라서 10으로 나눈 몫이 0이 될때까지 계속 나누면 나눈 횟수가 자리수가 된다. 구현 #include using namespace std; int digit(int n){ int ret = 0; while(n!= 0){ n /= 10; ret++; } return ret; } int main() { int num; cin >> num; cout > n; int digit = f..
숫자 데이터를 처리하다 보면 각각의 자리를 직접 분해하여 가져와야 하는 경우가 생긴다. 자릿수를 구하는 알고리즘은 간단한데 자릿수를 분해하는 알고리즘은 조금 까다롭다. 1. 자릿수 분해란? 자연수의 자리를 하나씩 분해하는 것이다. 예를 들어 145를 자릿수 분해하면 일의 자리:1 십의자리: 4 백의 자리: 5 이렇게 분리할 수 있다. 자릿수를 분해하는 알고리즘은 크게 string을 이용하는 방법과 수학적인 방법을 떠올릴 수 있다. 2. 자릿수 분해 알고리즘 1) 반복문 이용하기 아이디어 중학교때 배운 자릿수의 개념을 이용하여 하나씩 가져오는 것이다. 구현 벡터를 이용하면 되는데 이 경우에 자릿수는 벡터의 크기이다. #include #include using namespace std; int a, b; v..