본문 바로가기

수학29

4134번: 다음 소수 - 관련 사이트: https://www.acmicpc.net/problem/4134 4134번: 다음 소수 첫째 줄에 테스트 케이스의 개수가 주어진다. 각 테스트 케이스는 한 줄로 이루어져 있고, 정수 n이 주어진다. www.acmicpc.net 정수 n 이 주어졌을 때, n 보다 크거나 같은 소수 중 가장 작은 소수 찾는 문제이다. 1) 입력된 수부터 약수인지 확인 2) 2부터 수의 제곱근까지 나눠지는 수가 있는지 확인: i * i > n; while (!isPrime(n)) n++; cout 2023. 6. 23.
1735번: 분수 합 - 관련 사이트: https://www.acmicpc.net/problem/1735 1735번: 분수 합 첫째 줄과 둘째 줄에, 각 분수의 분자와 분모를 뜻하는 두 개의 자연수가 순서대로 주어진다. 입력되는 네 자연수는 모두 30,000 이하이다. www.acmicpc.net 2개의 분수가 주어졌을 때, 두 분수의 합을 기약분수로 나타내는 문제이다. 1) 입력받은 두 분수의 합 계산 입력받은 분수: a/b, c/d 분자 = a * d + c * b 분모 = b * d 2) 계산된 분자, 분모의 최대공약수 계산: 유클리드 호제법 이용 3) 계산된 분자, 분모를 각각 최대공약수로 나눔 == 기약분수 #include using namespace std; int gcd(int a, int b) { return .. 2023. 6. 20.
기약분수 기약분수(Irreducible Fraction)는 분자와 분모의 공약수 (Greatest Common Factor, GCF)가 1뿐이어서 더이상 약분되지 않는 분수이다. 분자와 분모를 1 이외의 공통된 약수로 나누는 행위를 약분(Reduction of a fraction) 이라고 한다. 정수 a,b에 대해, 분수 a/b가 기약분수라는 것과, a,b가 서로소 즉, 최대공약수가 1이라는 것은 같은 의미이다. [출처] 위키백과 - 기약분수 기약분수는 분모와 분자의 최대공약수를 구한 뒤 분모와 분자에 각각 나눠주면 된다. (예) 분모: 120, 분자: 90 == 최대공약수: 30 → 분모: 4, 분자: 3 이 때, 최대 공약수를 구하는 방법에는 유클리드 호제법 등이 있다. * 연관 문제: - [백준] 1735번.. 2023. 6. 20.
13241번: 최소공배수 - 관련 사이트: https://www.acmicpc.net/problem/13241 13241번: 최소공배수 정수 B에 0보다 큰 정수인 N을 곱해 정수 A를 만들 수 있다면, A는 B의 배수이다. 예: 10은 5의 배수이다 (5*2 = 10) 10은 10의 배수이다(10*1 = 10) 6은 1의 배수이다(1*6 = 6) 20은 1, 2, 4,5,10,20의 배수이다. 다 www.acmicpc.net 자연수 A와 B의 최소공배수를 구하는 문제이다. "1934번: 최소공배수" 문제와 동일하지만, 유클리드 호제법으로 최대공약수를 구해야 한다는 조건이 있다. "1934번: 최소공배수" 의 두번째 풀이를 적용해주면 된다. 1) 유클리드 호제법을 이용하여 A, B 두 수의 최대공약수 확인 3) (A * B) /.. 2023. 6. 19.
15964번: 이상한 기호 - 관련 사이트: https://www.acmicpc.net/problem/15964 15964번: 이상한 기호 부산일과학고등학교의 효진이는 수학의 귀재이다. 어떤 문제라도 보면 1분 내에 풀어버린다는 학교의 전설이 내려올 정도였는데, 이런 킹ㅡ갓 효진에게도 고민이 생겼다. 대부분의 문제에서 반 www.acmicpc.net 단순 연산 문제이다. 결과값이 int 보다 클 수 있으므로 타입은 long long int 로 선언해주었다. (int 형을 사용할 경우, 30점 점수가 나온다.) #include using namespace std; int main() { long long int A, B; cin >> A >> B; cout 2023. 6. 14.