Advertisement
Guest User

Untitled

a guest
Jan 23rd, 2018
104
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.20 KB | None | 0 0
  1. import java.util.Scanner;
  2.  
  3. public class RSA3 {
  4.     public static void main(String[] args) {
  5.         Scanner sc=new Scanner(System.in);
  6.         long n,t;
  7.         int p,q,r,indexp,indexq,indexr;
  8.         p=q=r=0;
  9.         int []primes=new int[9592];
  10.         int index=1;
  11.         primes[0]=2;
  12.         for (int i = 3; i < 100000; i+=2) {
  13.             if(isPrime(i)) {
  14.                 primes[index]=i;
  15.                 index++;
  16.             }
  17.         }
  18.         do {
  19.             n=sc.nextLong();
  20.             if(n==0) {
  21.                 break;
  22.             }
  23.             t=n;
  24.             indexp=numberPrime(0,n,primes);
  25.             p=primes[indexp];
  26.             n/=p;
  27.             indexq=numberPrime(indexp+1,n,primes);
  28.             q=primes[indexq];
  29.             n/=q;
  30.             indexr=numberPrime(indexq+1,n,primes);
  31.             r=primes[indexr];
  32.             if(p*q*r>=3)System.out.printf("%d = %d x %d x %d\n",t,p,q,r);
  33.         }while(true);
  34.        
  35.     }
  36.  
  37.     private static int numberPrime(int index,long n,int []primes) {
  38.         for (int i = index; i <primes.length; i++) {
  39.             if(n%primes[i]==0) {
  40.                 return i;
  41.             }
  42.         }
  43.         return 0;
  44.     }
  45.     public static boolean isPrime(int num){
  46.         if((num > 2 && num % 2 == 0) || num == 1) {
  47.             return false;
  48.         }
  49.  
  50.         for (int i = 3; i <= (int)Math.sqrt(num); i += 2) {
  51.  
  52.             if (num % i == 0) {
  53.                 return false;
  54.             }
  55.         }
  56.  
  57.         return true;
  58.     }
  59.    
  60. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement