예를들어, 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개가 나와야한다.
값이 정확하게 나온다.
0 개의 댓글:
댓글 쓰기