PTA (JAVA) - 1013 소수 (20 점)

PTA (JAVA) - 1013 소수 (20 점)
P i 로 하여 금 i 번 째 소 수 를 표시 하 게 하 다.현재 두 개의 정수 M ≤ N ≤ 104 를 주 고 P M 에서 P N 까지 의 모든 소 수 를 출력 하 십시오.
입력 형식: 한 줄 에 입력 하면 M 과 N 을 주 고 빈 칸 으로 구분 합 니 다.
출력 형식: 출력 은 P M 에서 P N 까지 의 모든 소수 로 10 개의 숫자 가 1 줄 을 차지 합 니 다. 그 사이 에 빈 칸 으로 구분 되 지만 줄 끝 에 빈 칸 이 있어 서 는 안 됩 니 다.
입력 샘플: 5 27
수출 사례: 11 13 17 19 23 29 31 37 41 47 53 59 61 67 73 79 89 97 101 103
사고의 방향
제 시 된 5 와 27 은 수출 다섯 번 째 부터 27 번 째 소수 까지 문 제 를 철저히 이해 해 야 한다.
  • 우 리 는 Array List 배열 로 소 수 를 저장 합 니 다.
  • 1 은 소수 가 아니 기 때문에 우리 변 수 는 2 부터
  • for 순환 으로 소 수 를 배열 에 저장 합 니 다
  • 입력 한 앞 뒤 두 자리 숫자 로 for 순환 을 제어 하고 배열 의 배열 을 인쇄 합 니 다.
  • import java.util.Scanner;
    import java.util.ArrayList;
    
    public class PTA1013 {
    
        public static void main(String[] args) {
            Scanner sc = new Scanner(System.in);
            //  ArrayList  
            ArrayList arr = new ArrayList();
    
            int j;
            for (int i = 2; i <= 10010; i++) // 1    ,     2    
            {
                j = 2;
                while (i % j != 0) {
                    j++; //   2 i       i  ,      
                }
                if (j == i) //          ,        
                {
                    arr.add(i);   //       arr 
                }
            }
    
            int m = sc.nextInt();
            int n = sc.nextInt();
            int line = 0;
            
            //    
            for (int i = m-1; i < n; i++) {
                line++;            
                if(line % 10 == 1){
                    System.out.print(arr.get(i));
                }else if(line %10 != 0){
                    System.out.print(" "+arr.get(i));
                }else if(line % 10 == 0){
                    System.out.println(" "+arr.get(i));
                }                                
            }
        }
    }
    

    잉잉!!!!!그 는 만점 이 아니다!!!내 가 답 을 하나 틀 렸 어!!왜 그런 지 모 르 겠 지만, 나 를 도와 준 사람 이 있 습 니까?

    좋은 웹페이지 즐겨찾기