본문 바로가기

Baekjoon/[2] 수학6

[백준] 4134번 다음 소수 JAVA (자바) 풀이 문제 4134 (수학, 브루트포스)정수 n(0 ≤ n ≤ 4*109)가 주어졌을 때, n보다 크거나 같은 소수 중 가장 작은 소수 찾는 프로그램을 작성   [입력]  :  첫째 줄에 테스트 케이스의 개수   :  정수 n ( 각 테스트 케이스는 한 줄 )       [출력] :  n보다 크거나 같은 소수 중 가장 작은 소수를 한 줄에 하나씩 출력    [참고]  소수 찾기 공식 2 ~ 제곱근까지 입력받은 수로 나눴을 때 나누어 떨어지지 않아야 소수!나누어 떨어진다면 입력받은 수에서 +1씩 올려 계산해보기 런타임 에러 피하기입력받은 숫자 n의 범위가 크기 때문에 long 타입으로 바꿔줄 것!  [코드] import java.io.*;import java.util.*;public class Main{ .. 2024. 5. 9.
[백준] 1057번 토너먼트 JAVA (자바) 풀이 문제 1057 (수학, 브루트포스) 토너먼트 과정 1번부터 N번의 선수 중 서로 인접한 번호끼리 스타를 한다 이긴 사람은 다음 라운드에 진출하고 최후의 한 명이 남을 때까지 진행 라운드의 참가자가 홀수명일 경우, 마지막 번호는 다음 라운드로 자동 진출 다음 라운드에선 다시 참가자의 번호를 1번부터 매긴다 (처음 정해진 순서 유지하면서) 김지민과 임한수는 서로 대결하기 전까지 항상 이긴다고 가정 김지민과 임한수가 몇 라운드에서 대결하는지 출력해라 [입력] : 첫째 줄에 참가자 수 N, 김지민과 임한수의 번호 입력 ( 2 ≤ N ≤ 100,000 자연수 ) [출력] : 김지민과 임한수가 대결하는 라운드 번호 출력 (서로 대결하지 않을 때, -1을 출력) [참고] 규칙찾기 홀수일 경우 다음 라운드 순번 N/2.. 2024. 4. 16.
[백준] 1078번 소수 찾기 JAVA (자바) 풀이 문제 1978번 : 주어진 수 N개 중에서 소수가 몇 개인지 찾아서 출력하는 프로그램 [입력] : 첫 줄에 수의 개수 N. 그 다음으로 N개의 수가 주어진다. [출력] : 소수의 개수를 출력 [코드] import java.util.*; import java.io.*; public class Main{ public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); br.readLine(); int result = 0; StringTokenizer st = new StringTokenizer(br.readLine()); while (.. 2023. 8. 25.
[백준] 1934번 최소공배수 JAVA (자바) 풀이 문제 1934번 [입력] : 첫째 줄에는 두 개의 자연수 [출력] : 첫째 줄에는 테스트 케이스의 개수 둘째 줄부터는 두 수의 최소 공배수 출력 [팁] : 최소공배수는 유클리드 호제법을 이용한다 - 최대공약수 = GCD - A와 B의 최대공약수를 (A,B)라고 할 때 최대공약수 (B,R)의 최대공약수와 같다 - A, B ∋ ℤ ( A ≥ B ) - R = A를 B로 나눈 나머지 - GCD(A,B) = GCD(B,R) - 최소공배수 = LCM - A와 B의 최소공배수는 GCD × (A/GCD) × (B/GCD) = (A×B) / GCD [코드] import java.io.*; import java.util.*; public class Main{ public static void main(String[] a.. 2023. 8. 19.
[백준] 2609번 최대공약수와 최소공배수 JAVA (자바) 풀이 문제 2609번 [입력] : 첫째 줄에는 두 개의 자연수 [출력] : 첫째 줄에는 두 수의 최대공약수 출력 둘째 줄에는 두 수의 최소 공배수 출력 [팁] : 최대공약수와 최소공배수는 유클리드 호제법을 이용한다 - 최대공약수 = GCD - A와 B의 최대공약수를 (A,B)라고 할 때 최대공약수 (B,R)의 최대공약수와 같다 - A, B ∋ ℤ ( A ≥ B ) - R = A를 B로 나눈 나머지 - GCD(A,B) = GCD(B,R) - 최소공배수 = LCM - A와 B의 최소공배수는 GCD × (A/GCD) × (B/GCD) = (A×B) / GCD [코드] import java.io.*; import java.util.*; public class Main{ public static void main(St.. 2023. 8. 18.
[백준] 10430번 나머지 JAVA (자바) 풀이 문제 10430번 [입력] : 첫째 줄에 A, B, C가 순서대로 주어진다 [출력] : 첫째 줄에 (A+B)%C 출력 둘째 줄에 ((A%C) + (B%C))%C 출력 셋째 줄에 (A×B)%C 출력 넷째 줄에 ((A%C) × (B%C))%C 출력 [코드] import java.io.*; import java.util.*; public class Main{ public static void main(String[] args)throws IOException{ BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringTokenizer st = new StringTokenizer(br.readLine()); int A = In.. 2023. 8. 18.