BOJ 4375 : 1

EHminShoov2J·2023년 9월 16일
0

CPP/코딩테스트

목록 보기
21/25
post-thumbnail

업로드중..

모듈러 연산

앞선 장에서 모듈러 연산은 분배법칙이 성립된다고 언급하였다. 본 문제에서도 해당 개념을 사용한다.

1111 % 4 == ((1110 % 4) + (1 % 4)) % 4 이다.

이렇게 오히려 문제를 쪼개 들어가면서 활용할 수도 있다.

입출력

CPP 에서 입출력을 무한하게 받는 경우 다음과 같이 받아주어야 한다,

while(scanf("%d", &n) != EOF){
	prinf("%d", n);
}

또한 scanf를 쓰는경우 cin, cout은 같이 쓸 수 없다.

Source Code

#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;
}

0개의 댓글