본문 바로가기

반응형

코딩 테스트/Project Euler @ kr

(46)
10) 이백만 이하 소수의 합 http://euler.synap.co.kr/prob_detail.php?id=10 10 이하의 소수를 모두 더하면 2 + 3 + 5 + 7 = 17 이 됩니다.이백만(2,000,000) 이하 소수의 합은 얼마입니까? ------------------------------------------------ public static void main(String[] args){boolean[] sosu = new boolean[2000000];for(int i=3;i
9) a + b + c = 1000 이 되는 피타고라스 수 http://euler.synap.co.kr/prob_detail.php?id=9 세 자연수 a, b, c 가 피타고라스 정리 a2 + b2 = c2 를 만족하면 피타고라스 수라고 부릅니다 (여기서 a
8) 1000자리 숫자 안에서 이어지는 5자리 숫자의 곱 중 최대값은? http://euler.synap.co.kr/prob_detail.php?id=8 다음은 연속된 1000자리 숫자입니다 (읽기 좋게 50자리씩 잘라놓음).73167176531330624919225119674426574742355349194934 96983520312774506326239578318016984801869478851843 85861560789112949495459501737958331952853208805511 12540698747158523863050715693290963295227443043557 66896648950445244523161731856403098711121722383113 62229893423380308135336276614282806444486645238749 303589..
7) 10001번째의 소수 http://euler.synap.co.kr/prob_detail.php?id=7 소수를 크기 순으로 나열하면 2, 3, 5, 7, 11, 13, ... 과 같이 됩니다.이 때 10,001번째의 소수를 구하세요. 에라토스테네스의 체 사용 ------------------------------------------------------------------- public static void main(String[] args){boolean[] sosu = new boolean[10000000];for(int i=2;i
6) 1부터 100까지 "제곱의 합"과 "합의 제곱"의 차는? http://euler.synap.co.kr/prob_detail.php?id=6 1부터 10까지 자연수를 각각 제곱해 더하면 다음과 같습니다 (제곱의 합).12 + 22 + ... + 102 = 3851부터 10을 먼저 더한 다음에 그 결과를 제곱하면 다음과 같습니다 (합의 제곱).(1 + 2 + ... + 10)2 = 552 = 3025따라서 1부터 10까지 자연수에 대해 "합의 제곱"과 "제곱의 합" 의 차이는 3025 - 385 = 2640 이 됩니다.그러면 1부터 100까지 자연수에 대해 "합의 제곱"과 "제곱의 합"의 차이는 얼마입니까? ------------------------------------------------------------------------ public static v..
5) 1 ~ 20 사이의 어떤 수로도 나누어 떨어지는 가장 작은 수 http://euler.synap.co.kr/prob_detail.php?id=5 1 ~ 10 사이의 어떤 수로도 나누어 떨어지는 가장 작은 수는 2520입니다.그러면 1 ~ 20 사이의 어떤 수로도 나누어 떨어지는 가장 작은 수는 얼마입니까? ----------------------------------------------------------------------- public static void main(String[] args){int now = 20;for(int i=2;i
4) 세자리 수를 곱해 만들 수 있는 가장 큰 대칭수 http://euler.synap.co.kr/prob_detail.php?id=4 앞에서부터 읽을 때나 뒤에서부터 읽을 때나 모양이 같은 수를 대칭수(palindrome)라고 부릅니다.두 자리 수를 곱해 만들 수 있는 대칭수 중 가장 큰 수는 9009 (= 91 × 99) 입니다.세 자리 수를 곱해 만들 수 있는 가장 큰 대칭수는 얼마입니까? ----------------------------------------------- public static void main(String[] args){int max=0;for(int first = 100; first99;j--){int num = i*j;if(num>max){int reverse = 0;while(num!=0){reverse*=10;revers..
3) 가장 큰 소인수 구하기 http://euler.synap.co.kr/prob_detail.php?id=3 어떤 수를 소수의 곱으로만 나타내는 것을 소인수분해라 하고, 이 소수들을 그 수의 소인수라고 합니다. 예를 들면 13195의 소인수는 5, 7, 13, 29 입니다.600851475143의 소인수 중에서 가장 큰 수를 구하세요. ------------------------------------------ public static void main(String[] args){long num = 600851475143l;if(num%2==0){num/=2;}for(int i=3;i
2) 피보나치 수열에서 4백만 이하이면서 짝수인 항의 합 http://euler.synap.co.kr/prob_detail.php?id=2 피보나치 수열의 각 항은 바로 앞의 항 두 개를 더한 것이 됩니다. 1과 2로 시작하는 경우 이 수열은 아래와 같습니다.1, 2, 3, 5, 8, 13, 21, 34, 55, 89, ...짝수이면서 4백만 이하인 모든 항을 더하면 얼마가 됩니까? ------------------------------------------------------ public static void main(String[] args) throws IOException{System.out.println(fibo(1,2));}public static int fibo(int f, int s){if(f
1) 1000보다 작은 자연수 중에서 3 또는 5의 배수를 모두 더하면? http://euler.synap.co.kr/prob_detail.php?id=1 10보다 작은 자연수 중에서 3 또는 5의 배수는 3, 5, 6, 9 이고, 이것을 모두 더하면 23입니다.1000보다 작은 자연수 중에서 3 또는 5의 배수를 모두 더하면 얼마일까요? --------------------------------------------- public static void main(String[] args) throws IOException{int sum = 0, now = 3;while(now

반응형