728x90
반응형
소수는
1과 자기자신만으로 나누어지는 수 ex) 7 , 17 . . .
1부터 100까지의 소수의 합을 구하는 코드는 아래와 같다.
public static void main(String[] args) {
int sum = 0;
for(int i=2; i<=100; i++) { //i는 2~100까지 증가한다.
int count = 0; //count는 소수인지 확인하는 역할은 한다.
for(int x=1; x<=i; x++) { //i의 값만큼 증가하며 i에 나눠지는 수 x를 만든다
if(i % x == 0) { //i/x의 나머지가 0이라면, count를 증가시키는데
count++; //소수라면 count는 2가 나온다.
}
}
if(count == 2) { //소수라면
sum += i; //i의 값을 sum에 더한다.
System.out.println(i+", "); //소수라면 현재의 값을 출력한다.
}
}
System.out.println("sum = "+sum);
}
더 설명을 하면 소수는 1과 자기자신의 수로 나누어지는 수를 말하는데
자기 자신이 이외에 나눴을때 나머지가 0인 경우가 있으면 그 수는 소수가 될 수 없고, 값이 출력되지 않는다.
반대로 소수가 아닌 수의 합을 구하기 위해서는??
//간단하다 아래의 if문이 소수인지 확인을 하고 있다.
if(count ==2) {
sum += i;
System.out.println(i+", ");
}
//if문의 비교문을 부정으로 변경해주면 소구가 아닌 수만 구할 수 있다.
//↓
if(count != 2) {
sum += i;
System.out.println(i+", ");
}
728x90
반응형
'Web Programming > JAVA' 카테고리의 다른 글
이클립스 Dynamic Web Project / Controller Servlet 생성하기 / javax.servlet.jar 다운로드 (0) | 2021.11.23 |
---|---|
Java / equals()와 == 차이 / equals()를 사용하는 이유 (0) | 2021.07.29 |
Java란? / 객제지향언어 / 캡슐화, 상속성, 다형성 (0) | 2021.07.26 |