728x90
728x90
= 스캐너 + for 구문 + if
<문제> (난이도 상 ) (혼자 못풀었음 ㅠ)
1) 정수를 입력 받으세요
2) 2중 for문을 이용하여 입력 받은 수 까지 소수들의 합을 구하세요.
(+힌트)입력 받은 수까지 반복, 내부 for문에서 외부 for문의 수까지 반복(
<정답>
ex) 정수를 입력하세요 : 10
1에서10까지합:17
<해설>
Scanner scan = new Scanner(System.in);
System.out.println("정수를 입력하세요 : ");
int num = scan.nextInt();
int sum = 0; //합을 누적할 변수
//약수의 개수를 판별
for(int i = 1; i<=num;i++) {
int count=0; //약수의 개수를 판별(값을 판별하기 전에 카운트값 초기화)
//i값을 판별
for(int j=1;j<=i;j++) {
if(i%j==0) {
count++;
}
}
if(count==2) {//i의 약수의 개수가 2개 이므로 i는 소수이다.
sum+=i;}
}
//여기서 한사이클이 끝나고 i가 올라가고, jrk 2가 되고 한다)
System.out.println("1에서"+num+"까지합:"+sum);
//System.out.println(num+"까지 소수의 합은 :"+sum);
}
728x90
'수업 복습하기 > Java Quiz' 카테고리의 다른 글
Quiz 21 - 스캐너 + while + switch + if + break (0) | 2021.08.26 |
---|---|
Quiz 20 - 무한반복문 + 스캐너 (2) | 2021.08.26 |
Quiz 18 - 스캐너 + for 구문 + if (0) | 2021.08.26 |
Method Quiz 02 - 메서드 + for 구문(6) (0) | 2021.08.26 |
Method Quiz 02 - 메서드 + for 구문 (5) (0) | 2021.08.26 |