일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 큰수의법칙
- 시뮬레이션
- 이항분포
- algeomath
- 정오각형
- python
- project euler
- 재귀함수
- 큰 수의 법칙
- 파이썬
- Geogebra
- 지오지브라
- 피타고라스 정리
- counting sunday
- 구분구적법
- 프로젝트 오일러
- 하합
- 리만합
- 알지오매스
- 프랙탈
- 제곱근의뜻
- 몬테카를로
- 삼각함수의그래프
- 작도
- 블록코딩
- 오일러
- 확률실험
- java
- 수학탐구
- 상합
- Today
- Total
이경수 선생님의 수학실험실
Problem 3(Largest prime factor) 본문
Problem 3(Largest prime factor)
The prime factors of 13195 are 5, 7, 13 and 29.
What is the largest prime factor of the number 600851475143 ?
In Python:
import time
start_time = time.time()
num = 600851475143
i = 2
while i < (num / 2) + 1:
while num % i == 0:
num = num / i
if num == 1:
num = i
break
i += 1
print(int(num))
print(time.time() - start_time, "Seconds"
Run time: 0.0020999908447265625 Seconds
In Java:
package project_euler;
public class Euler3 {
public static void main(String[] args) {
long num = 600851475143L;
int i = 2;
long startTime = System.currentTimeMillis();
while (i < num / 2 + 1) {
while (num % i == 0) {
num = num / i;
if (num == 1) {
num = i;
break;
}
}
i ++;
}
System.out.println(num);
long endTime = System.currentTimeMillis();
System.out.println((double)(endTime - startTime)/(double)1000 +"seconds");
System.out.println((endTime - startTime) +"ms");
}
}
Run time:
solution: 6857
[from Project Euler: https://projecteuler.net/problem=3]
'Project Euler' 카테고리의 다른 글
Problem 6(Sum square difference) (0) | 2019.02.08 |
---|---|
Problem 5(Smallest multiple) (0) | 2019.02.08 |
Problem 4(Largest palindrome product) (0) | 2019.02.07 |
Problem 2(Even Fibonacci numbers) (0) | 2019.02.06 |
Problem 1(Multiples of 3 and 5) (0) | 2019.02.06 |