| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | |||
| 5 | 6 | 7 | 8 | 9 | 10 | 11 |
| 12 | 13 | 14 | 15 | 16 | 17 | 18 |
| 19 | 20 | 21 | 22 | 23 | 24 | 25 |
| 26 | 27 | 28 | 29 | 30 |
Tags
- Junit5
- Spring
- 스프링
- redis
- 모던자바
- test
- 백준
- 운영체제
- 파이썬
- 프록시
- spring security
- 스프링 시큐리티
- proxy
- java
- 자바
- 다이나믹 프록시
- OS
- 객체지향
- 약수
- 알고리즘
- Python
- 리플렉션
- 문자열
- 최소 신장 트리
- CS
- BOJ
- Reflection
- 모던 자바 인 액션
- Deadlock
- MST
Archives
- Today
- Total
Dev 달팽이 @_''
[파이썬] 백준 4375 번 : 1 본문
출처 : www.acmicpc.net/problem/4375
4375번: 1
2와 5로 나누어 떨어지지 않는 정수 n(1 ≤ n ≤ 10000)가 주어졌을 때, 1로만 이루어진 n의 배수를 찾는 프로그램을 작성하시오.
www.acmicpc.net
이 문제를 풀기 전에 기본 베이스로 알아야 할 지식이 있다.
10430번: 나머지
첫째 줄에 A, B, C가 순서대로 주어진다. (2 ≤ A, B, C ≤ 10000)
www.acmicpc.net
바로 이 문제이다.
(A+B)%C는 ((A%C) + (B%C))%C 와 같고
(A×B)%C는 ((A%C) × (B%C))%C 와 같다.
이를 이용하여 문제를 접근하면, 첫 번째 예제 입력인 3을 가지고 예를 들어 보자.
먼저 1의 경우는 1%3 = 1 이다.
다음 11의 경우는 11%3 = 2이고 이는 (1*10+1)%3 = ((1%3)*10+1)%3 = 2로 바꿀 수 있다.
다음 111의 경우 111%3 = 0이고 이는 (11*10+1)%3 = ((11%3)*10+1)%3 = 0으로 바꿀 수 있다.
위에 방법을 이용하면, 아래와 같이 간단한 코드로 문제 해결이 가능하다.
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
while True:
try:
n = int(input())
except:
break
num = 0
i = 1
while True:
num = num * 10 + 1;
num %= n
if num == 0:
print(i)
break
i += 1
|
cs |
'PS > Python' 카테고리의 다른 글
| [파이썬] 백준 17427 번 : 약수의 합2 (0) | 2021.02.17 |
|---|---|
| [파이썬] 백준 1037 번 : 약수 (0) | 2021.02.17 |
| [파이썬] 백준 9935번 : 문자열 폭발 (0) | 2021.02.17 |
| [파이썬] 백준 2902번 : KMP는 왜 KMP일까? (0) | 2021.02.05 |
| [파이썬] 백준 1100번 : 하얀 칸 (0) | 2021.02.05 |