레이블이 원하는 숫자의 갯수인 게시물을 표시합니다. 모든 게시물 표시
레이블이 원하는 숫자의 갯수인 게시물을 표시합니다. 모든 게시물 표시

2015년 8월 2일 일요일

원하는 숫자의 갯수 구하기(count number)

이번 알고리즘은 자신이 원하는 숫자가 총 몇개나 들어갔는지 찾는 알고리즘이다.

예를들어, 1~200 까지중에 7이라는 숫자가 몇번들어갈까?

뒤에 자리수가 7인것을 197 까지 새면 20개 가 되는가?

아니다. 77, 177, 71 등 7이 두 개이상 들어 가거나 7이 10의 자리, 100의 자리등 어디든지

올 수 있기 때문이다. 이모든 경우의 수를따져 숫자 7이 어디에 들어가던지 그 총 갯수를

찾는 코드를 구현해 보았다.

1. 선행 지식

각자리수 마다 7을 찾는 방법을 알아야한다.

그래서 생각한 방법이. 각자리수를 10의 배수로 나누고 그나머지를 일의 자리로 만들어

그 값이 7이면 그 수의 7이 들어가는 갯수를 알수있다.

예를들어 , 1777이라는 숫자가있으면 10000으로 나눴을때 몫이 0 이고 나머지가 1777이다.

이때, 이값을 10000보다 한 자리 작은 자릿수 1000 으로 나누면  1000의자리가 1임을 안다.

동일한 방법으로 자릿수를 낮춰 1000으로 나눴을때 몫이 1이 되고 나머지는 777 이된다.

나머지 777을 다시 100 으로 나누면 100의자리가 7이라는 것을 알 수 있다.

나머지 자릿수 도 동일한 방법으로 연산하면 각자릿수에 7이 몇번 들어가는지 알 수 있다.

2. 처리과정

1) 값을 입력받는다.

2) 입력받은 값을 '1.선행과정'의 내용대로 원하는 숫자(7)를 찾는다.

3) 원하는 숫자(7)을 찾을때 마다 count 를 늘려준다.

밑의 코드는 처리과정을 코딩 해본 것이다.

코드를 실행 해보자.
위 와 같이 숫자 를 입력받는다. 77을 넣어보자.

그렇다면 답은 7 , 17, 27, 37, 47, 57, 67, 70, 71, 72, 73, 74, 75, 76, 77 까지 총 16개가 나와야한다. 



값이 정확하게 나온다.