일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 파이썬
- 하합
- 확률실험
- project euler
- 작도
- 시뮬레이션
- 큰수의법칙
- 상합
- 프랙탈
- 리만합
- 제곱근의뜻
- 오일러
- 이항분포
- counting sunday
- 알지오매스
- 몬테카를로
- 수학탐구
- 프로젝트 오일러
- python
- algeomath
- 지오지브라
- 재귀함수
- java
- 삼각함수의그래프
- 구분구적법
- 큰 수의 법칙
- Geogebra
- 피타고라스 정리
- 정오각형
- 블록코딩
- 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 |