[백준 문제] 나머지, 최대공약수 문제


[백준 문제] 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





© 2018. by statssy

Powered by statssy