Notice
Recent Posts
Recent Comments
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 쉽게 배우는 운영체제 연습문제
- 건담 엑스포
- 프라모델
- OS
- OS 그래픽 처리
- OS 강의
- 쉽게 배우는 운영체제 솔루션
- 쉽게 배우는 운영체제
- 건담 프라모델
- Gundam
- os 만들기
- OS 제작
- hg
- 운영체제 문제 풀이
- 맛집
- rg
- OS강의
- project euler
- Project Euler 해답
- OS 구조와 원리
- 건프라
- 건담
- 운영체제 만들기
- 쉽게 배우는 운영체제 풀이
- 30일
- 맛집 추천
- Project Euler Problem
- 운영체제
- 운영체제 정리
- 운영체제 제작
Archives
- Today
- Total
밤색모자이크의 개발이야기
Project Euler Problem 7 : 10001번째의 소수 본문
Project Euler 문제를 해답을 포스팅합니다.
※ 주의 : 최적화는 할 수 있는 만큼했습니다. 따라서 속도면에서는 많이 부족합니다.
문제를 푸는데 목표를 두었고 또한 TDD를 최대한 활용하였습니다.
몇가지 문제의 경우 TDD를 안한 경우도 있습니다.
혹시, 최적화 또는 속도 증가에 대한 부분을 지적해주실 분은 너무나도 감사합니다.
Project Euler Problem 7
소수를 크기 순으로 나열하면 2, 3, 5, 7, 11, 13, ... 과 같이 됩니다.
이 때 10,001번째의 소수를 구하세요.
소수를 구하는건 그냥 계속 나누었습니다.
다만, 나누는데 있어서 N/2만 루프만 돌아도 상관없으므로 절반만 돌게 하였습니다.
Source Code
TestClass Code
public class TestClass {
@Test public void primeNumCheck() { PrimeNumChecker check = new PrimeNumChecker(); assertTrue(check.primeNumcheck(7)); } }
Main Class Code
public class Main { public static void main(String [] args) { PrimeNumChecker checker = new PrimeNumChecker(); int count = 0; int result = 0; int number = 2; while (true) { if(count == 10001) break; if(checker.primeNumcheck(number)) { result = number; count++; } number++; }//end of while System.out.println(result + " , " + count + " , " + number); } }
PrimeNumChecker Code
public class PrimeNumChecker { public boolean primeNumcheck(int number) { for(int i=2; i<number/2; i++) { if( (number % i) == 0) { return false; } } return true; } }
'Algorithm > Project Euler' 카테고리의 다른 글
Project Euler Problem 9 : a + b + c = 1000 이 되는 피타고라스 수 (0) | 2017.06.19 |
---|---|
Project Euler Problem 8 : 1000자리 숫자 안에서 이어지는 5자리 숫자의 곱 중 최대값은? (0) | 2017.06.19 |
Project Euler Problem 6 : 1부터 100까지 "제곱의 합"과 "합의 제곱"의 차는? (0) | 2017.06.18 |
Project Euler Problem 5 : 1 ~ 20 사이의 어떤 수로도 나누어 떨어지는 가장 작은 수 (0) | 2017.06.18 |
Project Euler Problem 4 : 세자리 수를 곱해 만들 수 있는 가장 큰 대칭수 (0) | 2017.06.18 |
Comments