-
문제 7 - 소수 판별알고리즘/알고리즘 기초 100제 2020. 7. 8. 23:24
문제 : 입력된 수가 소수인지 판별 하시오.
Scanner sc = new Scanner(System.in); int num = sc.nextInt(); int count = 0; for(int i=1; i<=num; i++) { if(num % i == 0) { System.out.println("약수 : " + i); count +=1; } } if(count == 2) { System.out.println("입력한 수 '"+num+"'는 소수 입니다."); }else { System.out.println("입력한 수 '"+num+"'는 소수가 아닙니다."); } // 강의 정답 // 1부터 시작하면 안된다. 2부터 무언가의 수로 나누어떨어지는게 있으면 소수가 아니다. // 강의는 1과 자기 자신을 제외한 수가 나누어 떨어지는게 있는지 여부로 판단한다. boolean isPrimeNumber = true; for(int i=2; i <= num -1; i++) { if(num % i == 0) { isPrimeNumber = false; break; } } if(isPrimeNumber) { System.out.println( num + "은 소수다"); }else { System.out.println(num +"은 소수가 아니다"); }
강의 정답중 break문이 있다면 더 빨리 해결할 수 있을거라 생각해서 추가함.
출처 : https://www.youtube.com/watch?v=CZOkPNGWpDA&list=PLVoihNyHW4xkm_KJ8_N8X7F6EQP4uSRyR&index=8
'알고리즘 > 알고리즘 기초 100제' 카테고리의 다른 글
문제9번 - 입력된 수의 각 자릿수 합 구하기 (0) 2020.07.15 문제8번 - 팩토리얼 구하기 (0) 2020.07.15 문제 6 - 최대공약수 (0) 2020.07.08 문제 5 - 대소문자 변환 (0) 2020.06.30 문제 4번 - 10진수를 2진수로 변환 (0) 2020.06.30