728x90
반응형
입력 받은 값 n은 2와 5로 나누어 떨어지지 않는다. 나누어 떨어지지 않는다. 배수가 아니다.
1로만 이루어진 n의 배수를 찾아야 한다. ->1,11,111,1111 1의 개수 찾기
N의 배수인 것을 확인하고 1의 개수를 센다
1,11,111,1111 %n ==0 ->배수
1의 개수 count
if (num %n == 0) num를 n 으로 나누었을 때 나머지 값이 0이다. 배수이다. 나누어 떨어진다
ex) 6%3
if (num %n !=0) num을 n으로 나누었을 때 나머지 값이 0이 아니다. 배수가 아니다
package fc.java.baekjoon;
import java.util.Scanner;
public class test4375 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
while(sc.hasNext()){
int n = sc.nextInt();
int num =0;
for(int i=1; i<= n; i++){
num = (num *10 +1) %n;
if(num ==0){
System.out.println(i);
break;
}
}
}
sc.close();
}
}
입력으로부터 정수 n을 입력 받아각 자릿수가 모두 1로 이루어진 수를 생성.
이 수가 n의 배수인지 확인한다. 해당 수가 n의 배수이면 그 때의 자릿수를 출력하고 반복을 종료
num은 생성될 숫자
for 을 사용해 1부터 n까지 반복한다. i는 현재 생성된 숫자의 자릿수를 의미한다
나머지가 0이 되는 경우, 즉 현재 생성된 숫자가 n의 배수일 경우 해당 숫자의 자릿수를 출력하고 반복문 종료
728x90
'코딩테스트' 카테고리의 다른 글
JAVA - 백준 31458 (0) | 2024.03.18 |
---|---|
SQL TEST - 평균 일일 대여 요금 구하기 (0) | 2024.03.15 |
SQL TEST - 흉부외과 또는 일반외과 의사 목록 출력하기 (0) | 2024.03.14 |
백준 17427 자바 (1) | 2024.02.13 |
백준 1037 자바 (0) | 2024.02.12 |