728x90
https://www.acmicpc.net/problem/4375
4375번: 1
2와 5로 나누어 떨어지지 않는 정수 n(1 ≤ n ≤ 10000)가 주어졌을 때, 1로만 이루어진 n의 배수를 찾는 프로그램을 작성하시오.
www.acmicpc.net
1로만 이루어진 n의 배수란, 1로만 이루어진 수 && n의 배수
1로만 이루어진 수는 1, 11, 111, 1111,.... 이런 식의 수다.
그러므로 1로만 이루어진 수를 쭉 만들면서 n의 배수인지 체크만 해주면 쉽게 풀 수 있는 문제.
1로만 이루어진 수 만들기 규칙!
1 => 0 * 10 + 1
11 => 1 * 10 + 1
111 => 11 * 10 + 1
1111 => 111 * 10 + 1
11111 => 1111 * 10 + 1
#include <iostream>
#include <algorithm>
using namespace std;
int main(){
ios::sync_with_stdio(0); cin.tie(0); cout.tie(0);
int n;
while(cin >> n){
int tmp = 0;
for(int i=1; i<=n; i++){
tmp = tmp * 10 + 1;
tmp %= n;
if(tmp == 0) {
cout << i << '\n'; //자릿수 출력하고 끝내기
break;
}
}
}
return 0;
}
728x90
'알고리즘 > 백준' 카테고리의 다른 글
[백준/c++] 6588번: 골드바흐의 추측 (0) | 2022.08.04 |
---|---|
[백준/c++] 17427번: 약수의 합 2 (0) | 2022.08.04 |
[백준/c++] 1929번: 소수 구하기 (0) | 2022.08.04 |
[백준/c++] 1037번: 약수 (0) | 2022.08.03 |
[백준/c++] 2609번: 최대공약수와 최소공배수 (0) | 2022.08.02 |