>
> import java.util.ArrayList;
> import java.util.Collections;
> import java.util.List;
> import java.util.Scanner;
>
>
> public class PrimeFactors {
>
>     /**
>  * @param args
>  */
> public static void main(String[] args) {
> Scanner sc = new Scanner(System.in);
> int n = sc.nextInt();
> List<Integer> counts = new ArrayList<Integer>();
> List<Integer> l = new ArrayList<Integer>();
> l.add(2);
> l.add(3);
> l.add(5);
> l.add(7);
> for(int i=0;i<l.size();i++) {
> int j=0;
> while(n%l.get(i)==0) {
> n = n/l.get(i);
> j++;
> }
> counts.add(j);
> }
> if(n!=1) {
> System.out.println(-1);
> }
> else {
> System.out.println(counts);
> System.out.println(generateComb(counts));
> }
> }
>  public static int generateComb(List<Integer> l) {
> List<Integer> li = new ArrayList<Integer>();
> int temp=0;
> for(int i=0;i<l.size();i++) {
> int k = 0;
> int j =0;
> if(l.get(i)==0&&temp==1&&i==1) {
> li.add(2);
> }
> if(l.get(i)==0) {
> continue;
> }
> switch (i) {
> case 0: k = l.get(i)%3;
>  if(k!=l.get(i)) {
>  j = l.get(i)/3;
>  while(j!=0) {
>  li.add(8);
>  j--;
>  }
>  }
>  if(k==2)
>  li.add(2*k);
>  temp=k;
>  break;
>             case 1:  k = l.get(i)%2;
>              if(k!=l.get(i)) {
>              j = l.get(i)/2;
>  while(j!=0) {
>  li.add(9);
>  j--;
>  }
>              }
>              if(temp==1&&k==1) {
>              li.add(6);
>              }
>              else if(k==1) {
>              li.add(3);
>              }
>              else if(temp==1) {
>              li.add(2);
>              }
>                      break;
>             case 2:  k = l.get(i);
>              while(k!=0) {
>              li.add(5);
>  k--;
>              }
>                      break;
>             case 3:  k = l.get(i);
>     while(k!=0) {
>  li.add(7);
>  k--;
>  }
>          break;
> }
>  }
> Collections.sort(li);
> return generateNumFromArray(li);
> }
> public static int generateNumFromArray(List<Integer> l) {
> int num=0;
> for(int i=0;i<l.size();i++) {
> num = num*10 + l.get(i);
> }
> return num;
> }
> }
>

btw was this from interviewstreet interview ?? :P 

-- 
You received this message because you are subscribed to the Google Groups 
"Algorithm Geeks" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to algogeeks+unsubscr...@googlegroups.com.

Reply via email to