누룽지맛치킨
어미새의 개발일지
누룽지맛치킨
전체 방문자
오늘
어제
  • 분류 전체보기 (86)
    • 코틀린 (8)
    • 안드로이드 (5)
      • 디자인 (2)
      • 개발 (2)
      • 도구 (1)
    • 피그마 (1)
    • 대외활동 (0)
    • 프로젝트 (0)
    • 백준 (55)
      • JAVA (55)
    • 알고리즘 (3)
    • 클라우드 (5)
    • 스터디 (2)
      • 코테 (2)
    • 자료구조 (5)
    • 컴퓨터 기술 (1)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 백준 자바 2292번
  • Room version 올리기
  • 자료구조
  • 알고리즘 조합
  • 코틀린 인 액션
  • 백준 자바 누적합
  • 안드로이드
  • 백준 자바 다이나믹 프로그래밍
  • 안드로이드 디자인
  • 클라우드
  • 백준 자바
  • 코틀린 runBlocking
  • 자바 Priority Queue
  • Room Migration
  • 백준 자바 벌집
  • 백준 자바 정렬
  • 백준 자바 수열
  • 클라우드 컴퓨팅
  • 백준 자바 2559번
  • 코틀린

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
누룽지맛치킨

어미새의 개발일지

백준/JAVA

[백준/JAVA] 단계별로 풀어보기(8단계) 기본 수학 2

2023. 2. 6. 15:44

문제 1978) 소수 찾기

import java.io.IOException;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.StringTokenizer;

public class Main {
    public static void main(String[] args) throws IOException{
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        int N = Integer.parseInt(br.readLine());
        boolean num[] = new boolean[1001];
        num[1] = true;
        for(int i=2;i<=1000;i++) {
            if(num[i])
                continue;
            for(int j=i*2;j<=1000;j+=i) {
                num[j] = true;
            }
        }
        StringTokenizer st = new StringTokenizer(br.readLine());
        int count =0;
        for(int i=0;i<N;i++) {
            int t = Integer.parseInt(st.nextToken());
            if(!num[t])
                count++;
        }
        System.out.println(count);
    }
}

문제 2581) 소수

import java.io.IOException;
import java.io.BufferedReader;
import java.io.InputStreamReader;

public class Main {
    public static void main(String[] args) throws IOException{
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        int M = Integer.parseInt(br.readLine());
        int N = Integer.parseInt(br.readLine());
        boolean num[] = new boolean[10001];
        num[1]= true;
        int min = -1;
        int sum = 0;
        for(int i=2;i<=10000;i++) {
            if(num[i]) continue;
            for(int j=i*2;j<=N;j+=i) {
                num[j] = true;
            }
        }
        for(int i=M;i<=N;i++) {
            if(!num[i]) {
                if(min==-1) {
                    min = i;
                }
                sum+=i;
            }
        }
        if(min==-1) {
            System.out.println(min);
        }
        else {
            System.out.println(sum);
            System.out.println(min);
        }
    }
}

문제 11653) 소인수분해

import java.io.IOException;
import java.io.InputStreamReader;
import java.io.BufferedReader;

public class Main {
    public static void main(String[] args) throws IOException{
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        int num = Integer.parseInt(br.readLine());
        if(num==1) {
            return;
        }

        StringBuilder sb = new StringBuilder();
        for(int i=2;i<=num;i++) {
            if(num%i==0) {
                sb.append(i).append("\n");
                num/=i;
                i--;
            }
            if(num==1)
                break;
        }
        System.out.print(sb);
    }
}

문제 1929) 소수 구하기

import java.io.IOException;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.StringTokenizer;

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 M = Integer.parseInt(st.nextToken());
        int N = Integer.parseInt(st.nextToken());

        boolean num[] = new boolean[1000001];
        StringBuilder sb = new StringBuilder();

        num[1] = true;
        for(int i=2;i<=1000;i++) {
            if(num[i]) continue;
            for(int j=i*2;j<=1000000;j+=i) {
                num[j] = true;
            }
        }
        for(int i=M;i<=N;i++) {
            if(!num[i])
                sb.append(i).append("\n");
        }
        System.out.print(sb);
    }
}

문제 4948) 베르트랑 공준

import java.io.IOException;
import java.io.BufferedReader;
import java.io.InputStreamReader;

public class Main {
    public static void main(String[] args) throws IOException{
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        boolean num[] = new boolean[123456*2+1];
        num[1] = true;
        for(int i=2;i<=Math.sqrt((double)123456*2);i++) {
            if(num[i]) continue;
            for(int j=i*2;j<=123456*2;j+=i) {
                num[j] = true;
            }
        }
        StringBuilder sb = new StringBuilder();
        String input;
        while(!(input=br.readLine()).equals("0")) {
            int n = Integer.parseInt(input);
            int count = 0;
            for(int i=n+1;i<=2*n;i++) {
                if(!num[i]) {
                    count++;
                }
            }
            sb.append(count).append("\n");
        }
        System.out.print(sb);
    }
}

문제 9020) 골드바흐의 추측

import java.io.IOException;
import java.io.BufferedReader;
import java.io.InputStreamReader;

public class Main {
    public static void main(String[] args) throws IOException{
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        int T = Integer.parseInt(br.readLine());
        StringBuilder sb = new StringBuilder();
        boolean num[] = new boolean[10001];
        num[1] = true;
        for(int i=2;i<=100;i++) {
            if(num[i]) continue;
            for(int j=i*2;j<=10000;j+=i) {
                num[j] = true;
            }
        }
        for(int i=0;i<T;i++) {
            int input = Integer.parseInt(br.readLine());
            for(int j=input/2;j>=1;j--) {
                if(!num[j] && !num[input-j]) {
                    sb.append(j).append(" ").append(input-j).append("\n");
                    break;
                }
            }
        }
        System.out.print(sb);
    }
}

'백준 > JAVA' 카테고리의 다른 글

[백준/JAVA] 1010번 다리 놓기  (0) 2023.02.06
[백준/JAVA] 2609번 최대공약수와 최소공배수  (0) 2023.02.06
[백준/JAVA] 2477번 참외밭  (0) 2023.02.06
[백준/JAVA] 단계별로 풀어보기(7단계) 기본 수학 1  (0) 2023.02.06
[백준/JAVA] 11729번 하노이 탑 이동 순서  (0) 2023.02.06
    '백준/JAVA' 카테고리의 다른 글
    • [백준/JAVA] 1010번 다리 놓기
    • [백준/JAVA] 2609번 최대공약수와 최소공배수
    • [백준/JAVA] 2477번 참외밭
    • [백준/JAVA] 단계별로 풀어보기(7단계) 기본 수학 1
    누룽지맛치킨
    누룽지맛치킨

    티스토리툴바