I.java 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. import java.util.Scanner;
  2. public class I {
  3. static int primers[] = new int[3600];
  4. public static void main(String[] args) {
  5. Scanner cin = new Scanner(System.in);
  6. while (cin.hasNext()) {
  7. int n = cin.nextInt();
  8. System.out.print(n + "=");
  9. init();
  10. if (n < 2) {
  11. System.out.print(n);
  12. } else {
  13. for (int i = 0; i <= 3600; i++) {
  14. if (n % primers[i] == 0) {
  15. System.out.print(primers[i]);
  16. n /= primers[i];
  17. break;
  18. }
  19. }
  20. for (int i = 0; i < 3600; ) {
  21. if (n % primers[i] == 0) {
  22. System.out.print("*" + primers[i]);
  23. n /= primers[i];
  24. } else i++;
  25. }
  26. }
  27. System.out.println();
  28. }
  29. cin.close();
  30. }
  31. private static void init() {
  32. int index = 0;
  33. for (int i = 2; index < 3600; i++) {
  34. if (isPrime(i))
  35. primers[index++] = i;
  36. }
  37. }
  38. private static boolean isPrime(int n) {
  39. if (n < 2) return false;
  40. if (n % 2 == 0 && n != 2) return false;
  41. for (int i = 3; i * i <= n; i += 2)
  42. if (n % i == 0)
  43. return false;
  44. return true;
  45. }
  46. }