[백준 문제] 나머지, 최대공약수 문제
[백준 문제] P10430-나머지
문제 (A+B)%C는 (A%C + B%C)%C 와 같을까?
(A×B)%C는 (A%C × B%C)%C 와 같을까?
세 수 A, B, C가 주어졌을 때, 위의 네 가지 값을 구하는 프로그램을 작성하시오.
입력 첫째 줄에 A, B, C가 순서대로 주어진다. (2 ≤ A, B, C ≤ 10000)
출력 첫째 줄에 (A+B)%C, 둘째 줄에 (A%C + B%C)%C, 셋째 줄에 (A×B)%C, 넷째 줄에 (A%C × B%C)%C를 출력한다.
a,b,c = map(int, input().split())
5 8 4
print((a+b)%c)
print((a%c+b%c)%c)
print((a*b)%c)
print((a%c*b%c)%c)
1
1
0
0
# 내 풀이
a,b,c = map(int, input().split())
print((a+b)%c)
print((a%c+b%c)%c)
print((a*b)%c)
print((a%c*b%c)%c)
5 8 4
1
1
0
0
[백준 문제]P2609-최대공약수와 최소공배수
# 2부터 min(A,B)까지 모든 정수로 나눠보는 방법
a, b = map(int, input().split())
x = 1
for i in range(2, min(a,b)+1) :
if (a%i == 0) & (b%i == 0) :
x = i
print(x)
24 18
6
# 재귀함수(재귀함수는 함수안에서 함수본인을 실행하여 반복)를 사용해서 구현하는 유클리드 호제법
def gcd1(a, b):
if b == 0 :
return a;
else :
return gcd1(b, a%b)
gcd1(24, 18)
6
# 재귀함수를 사용하지 않고 구현한 유클리드 호제법
def gcd2(a, b) :
while b != 0 :
r = a%b;
a = b;
b=r;
return a;
gcd2(24, 18)
6