학습장/Algorithm

1. 12. 2. Adding and Counting Prime Numbers within Within User Input Number JAVA

Shin Jaehyun 2018. 4. 26. 02:20
Code의 경우에는 일부러 다른 주석들은 다 지우고 늘어난것만 살짝 표기했습니다. 

하지만, 이전에 했던거랑 이건 거의 같으니.. 쉽게 이해되시리라 생각됩니다. 

혹, 이전의 code가 궁금하시면, 이 전 게시글을 보시면 되겠습니다. 

package algorithm_Basic;
import java.util.Scanner;
public class Math_AddingnCountingPrimeNumbers {
     public static void main(String[] args) {
           // TODO Auto-generated method stub
           int inputN;
           int compN = 1;
                                
           int divN;
           int sum = 0;
           int cntN = 0;   //소수가 나올 때 마다 소수의 개수를 세어줄 cntN을 선언 하고 초기화해줍니다.
           
           System.out.println("인간적으로 2보다는 큰 수 입력해주세요. 정수로요.\n");
           Scanner scan = new Scanner(System.in);          
                                                                      
           inputN = scan.nextInt();
           System.out.printf("입력하신 값 %d 이내의 소수는 \n\n", inputN);
           while (compN < inputN) {                        
                compN++;                                        
                divN = 2;                                       
                while (compN % divN != 0)
                     divN++;                                         
                if (compN == divN) {                       
                     sum = sum + compN;
                     cntN++;                            //소수가 등장하면 이전에는 더해주기만 했는데, 이번에는 그 소수를 더할 때 개수를 세어주는거에요.
                     System.out.printf("[%d] ", compN);
                }//if                                           
                                                                      
           }//while
           System.out.printf("\n\n이며, 소수의 개수는 \n\n%d개 이고,", cntN);
           System.out.printf("\n합계는 \n\n[%d] 입니다.", sum);
           scan.close();
     }//main
}//class

실행결과는 다음과 같습니다. 


이거.. 너무 쉽게 끝나서, 뭔가 찝찝하기도 합니다만,; 일요일에 오랫만에 토익시험을 보는지라 벼락치기를 조금 하려고요. 

프로젝트도 해야하는데.. 

하아.. 

그래도 하루한개정도 이상은 해둬야 저도 머리가 덜 굳을 테니, 계속 해보려고 합니다. 

좋은 밤, 좋은 하루 되세요.