앞선 장에서 모듈러 연산은 분배법칙이 성립된다고 언급하였다. 본 문제에서도 해당 개념을 사용한다.
1111 % 4 == ((1110 % 4) + (1 % 4)) % 4 이다.
이렇게 오히려 문제를 쪼개 들어가면서 활용할 수도 있다.
CPP 에서 입출력을 무한하게 받는 경우 다음과 같이 받아주어야 한다,
while(scanf("%d", &n) != EOF){
prinf("%d", n);
}
또한 scanf를 쓰는경우 cin, cout은 같이 쓸 수 없다.
#include <iostream>
using namespace std;
int n;
int main(){
while(scanf("%d", &n) != EOF){
int cnt = 1;
int number_one = 1;
while(true){
if (number_one % n == 0){
printf("%d\n", cnt);
break;
}
else{
number_one = number_one * 10 + 1;
number_one %= n; // 중간중간 지속적으로 % 연산해줘도, 결국 마지막에 한번하는 것과 같음!
cnt ++;
}
}
}
return 0;
}