티스토리 뷰
// 1000이하의 소수 구하기
public class Ex11 {
public static void main(String[] args) {
int counter = 0; // 곱셈과 나눗셈의 횟수 (비용)
int ptr = 0; // 찾은 소수의 개수
int[] prime = new int[500]; // 소수를 저장하는 배열
prime[ptr++] = 2;
prime[ptr++] = 3;
for (int n = 5; n <= 1000; n += 2) { // 홀수만
boolean flag = false;
for (int i = 1; prime[i] * prime[i] <= n; i++) {
counter += 2;
if (n % prime[i] == 0) { // 나누어 떨어지면 소수가 아님
flag = true;
break; // 더 이상의 반복은 불필요
}
}
if (!flag) {
prime[ptr++] = n;
counter++;
}
}
for (int i = 0; i < ptr; i++) {
System.out.println(prime[i]);
}
System.out.println("곱셈과 나눗셈을 수행한 횟수 : " + counter);
}
}
- 실습 문제 2-9 ~ 2-11
- 1000이하의 소수 구하기 문제인데 counter로 계산 횟수를 카운팅하고 점점 개선시켰음
- 제곱근 내용이 이해가 잘 안되서 코드 따라쳐봤음
※참조
Do it! 자료구조와 함께 배우는 알고리즘 입문
'PS > etc' 카테고리의 다른 글
chapter2) 그 해의 남은 일 수 구하기 (0) | 2020.07.09 |
---|---|
chapter2) 그 해의 경과 일 수 구하기 (0) | 2020.07.09 |
chapter2) 10진수 변환 (0) | 2020.07.08 |
chapter2) 배열 요소의 합계 구하기 (0) | 2020.07.07 |
chapter2) 배열 역순 정렬 (0) | 2020.07.07 |
링크
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
TAG
- JS 딥다이브
- dreamcoding
- 킹수빈닷컴
- 이펙티브자바
- 모던자바스크립트
- GCP
- 김영한 JPA
- java
- 가상 면접 사례로 배우는 대규모 시스템 설계 기초
- 이펙티브자바 스터디
- 패스트캠퍼스 컴퓨터공학 완주반
- JPA 연관관계 매핑
- 백기선 스터디
- 백준
- js api
- BOJ
- HTTP 완벽가이드
- http
- js array
- 이펙티브자바 아이템60
- ㅇㄷㅇㅈ
- 김영한 http
- Spring Security
- 드림코딩
- 프로그래머스 SQL
- 이펙티브자바 아이템59
- js promise
- HTTP 완벽 가이드
- REST API
- 프로그래머스
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
31 |
글 보관함