공룡호가 사는 세상 이야기

ACM 10127 ONES

프로그래밍2006. 1. 16. 14:53
2나 5로 나눌 수 없는 0이상 10,000 이하의 정수 n이 주어졌는데, n의 배수 중에는 10진수로 표기할시 모든 자리 숫자가 1인 것이 있다. 그러한 n의 배수 중에서 가장 작은 것은 몇자리 수인가?

입력
한줄에 하나의 정수가 입력된다.

출력
(자세한 설명은 생략한다?) n이 1로만 이루어진 숫자의 약수일 경우 1로만 이루어진 숫자의 자릿수를 출력한다? 중복일때는 최소값을 출력한다?

입력 예제
3
7

출력 예제
3
6

입력받은 숫자와 모든 자리가 '1'인 숫자와 계속 비교

#include <stdio.h>

int process(unsigned int n)
{
unsigned long cnt = 11;
int count = 2;

if (n == 1)
return 1;

while(1)
{
if (cnt % n == 0)
return count;

cnt = cnt * 10 + 1; //모든 자리의 값이 '1'
count++; //자릿수
}
return 0;
}

void main(void)
{
unsigned int n;
scanf("%d", &n);

printf("%d\n", process(n));
}

'프로그래밍' 카테고리의 다른 글

칼로리 계산(Back Tracking)  (2) 2006.01.18
ACM 10018 Reverse And Add  (0) 2006.01.16
GetTickCount() Function  (1) 2006.01.16
chaos in FOR loop  (0) 2006.01.13
ACM 10110 Light, More Light  (0) 2006.01.13