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 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 | public class Problem037 { public static void main(String[] args) { System.out.println(run()); } public static String run() { int n = 11; String temp; boolean prime; int sum = 0; int len; for(int count = 1; count <= 11; n++) { if(isPrime(n)) { temp = Integer.toString(n); len = temp.length(); prime = true; //from left for(int j = 1; j <= (len - 1); j++) { if(!isPrime(Integer.parseInt(temp.substring(0, j)))) { prime = false; break; } } if(prime) { //from right for(int j = 1; j < len; j++) { if(!isPrime(Integer.parseInt(temp.substring(len - j, len)))) { prime = false; break; } } } if(prime) { sum += n; ++count; } } } return Integer.toString(sum); } public static boolean isPrime(int n) { switch(n) { case 0: case 1: return false; case 2: return true; default: if(n%2 == 0) { return false; } else { for(int i = 3; i*i <= n; i += 2) { if(n%i == 0) { return false; } } } return true; } } } | cs |
정답: 748317
실행 시간: 2초
'Programming > Solutions' 카테고리의 다른 글
[Project Euler] Problem 036 (0) | 2021.01.11 |
---|---|
[Project Euler] Problem 034 (0) | 2021.01.11 |
[BAEKJOON] 2747번 (0) | 2019.06.18 |
[BAEKJOON] 15552번 (0) | 2019.06.17 |
[BAEKJOON] 10828번 (0) | 2019.06.17 |