Advertisement
Guest User

Untitled

a guest
Oct 4th, 2015
62
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.32 KB | None | 0 0
  1. package problem5;
  2.  
  3. import java.util.*;
  4. import java.lang.*;
  5. import java.io.*;
  6.  
  7. class Problem5
  8. {
  9. public static boolean primep(int n){
  10. boolean isprime = true;
  11. for(int i = 2; i <= (int)Math.sqrt(n) && isprime == true; ++i){
  12. if(n % i == 0){
  13. isprime = false;
  14. }
  15. }
  16. return isprime;
  17. }
  18. public static ArrayList<Integer> generate_primes(int n){
  19. ArrayList<Integer> primes = new ArrayList<Integer>();
  20. for(int i = 2; i <= n; ++i){
  21. if(primep(i) == true){
  22. primes.add(i);
  23. }
  24. }
  25. return primes;
  26. }
  27.  
  28. public static double logBase(int x, int base){
  29. return Math.log(x) / Math.log(base);
  30. }
  31.  
  32. public static long problem5(int n){
  33. long result = 1;
  34. ArrayList<Integer> primes = generate_primes(n);
  35. for(int i = 0; i < primes.size(); ++i){
  36. result = result * (int)Math.pow(primes.get(i), (int)logBase(n, primes.get(i)));
  37. }
  38. return result;
  39. }
  40. public static void main (String[] args) throws java.lang.Exception
  41. {
  42. Scanner scan = new Scanner(System.in);
  43. int n = scan.nextInt();
  44. long millis = System.currentTimeMillis();
  45. long result = problem5(n);
  46. millis = System.currentTimeMillis() - millis;
  47. System.out.println("The smallest number divisible by all numbers from 1 to "
  48. + n + " is " + result + ".");
  49. System.out.println("This computation took " + millis + "ms");
  50. }
  51. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement