본문 바로가기

Mathematics17

백준 6588 ▶ 6588번 문제 - 골드바흐의 추측 ▶ 풀이방법 - 밑의 코드를 사용할 경우 결과값은 잘 나오지만, 백준 채점단계에서 여러번 반복되는의 소수 판별방식으로 인해 시간초과 오류 발생. import java.util.*; public class Main{ public static void main(String[] args) throws Exception{ BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out)); long n; while(true) { n = Integer.parseInt(br.rea.. 2022. 4. 7.
백준 2004 ▶ 2004번 문제 - 조합 0의 개수 ->조합 nCm의 값의 끝자리 0의 개수를 출력하는 문제 - 1656번( https://shinny.tistory.com/165 )처럼 nCm을 직접 계산하면 long타입 벗어나므로 nCm을 직접 계산해서는 안됨. ▶ 풀이방법 - n!의 2와 5의 개수 - (n-m)!의 2와 5의 개수 - m!의 2와 5의 개수를 구해 값의 끝자리 0의 개수 출력하도록 함 ==> 1656번 문제 참고 - 코드1 - 아래 코드는 시간 초과 오류 발생(정확한 이유는 모르겠지만, while문이 여러번 돌아가기 때문에 시간복잡도가 증가한다고 생각이 됨.) import java.util.*; import java.io.*; public class Main { public static voi.. 2022. 4. 3.
백준 1676 ▶ 백준 1676 - 팩토리얼 0의 개수 ▶ 풀이방법 - 문제에서 N은 0~500으로 N팩토리얼 표현하면 long형 값을 넘어가서 표현불가.(25부터 long형값 범위 넘어감.) - 따라서 밑의 코드는 오답이 됨. import java.io.*; public class Main { public static void main(String[] args) throws Exception{ BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out)); int n = Integer.parseInt(br.readL.. 2022. 4. 2.
백준 11653 ▶ 백준 11653 - 소인수분해 ▶ 풀이방법 **주의 : N=1인경우 아무것도 출력하지 않음! import java.io.*; public class Main { public static void main(String[] args) throws Exception{ BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out)); int n = Integer.parseInt(br.readLine()); if(n != 1) {//n이 1일 경우 아무것도 출력하지 않음. if(n < 2) bw.write(St.. 2022. 4. 2.