import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Vector;


public class Soinsu {

 public static void main(String[] args) throws IOException{
  BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
  Vector v = null;
  int k = 2;
  int y = 1;
  int i = 0;
 
  Vector s = new Vector();
 
  System.out.print("숫자를 입력 : ");
  int n = Integer.parseInt(in.readLine());
 
  if ( n > 2 ) {
   for (i = 0; i < 100; i++) {
    if (n%k == 0) {
     s.add(k);
     n /= k;
    }else{
     k += 1;
    }
    if (n == 1) {
     break;
    }
   }
  }else{
   if (i == 0) {
    System.out.println("소수!");
   }
  }
  for (int j = 0; j < s.size()-1; j++) {
   System.out.print(s.elementAt(j)+" * ");
  }
  System.out.println(s.lastElement());
 
 }
}




AND


요거는 유클리드 호제법이네용...

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;


public class Uclide {

 public static void main(String[] args) throws IOException{
  BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
  System.out.print("첫번째수 : ");
  String a = in.readLine();
  System.out.print("두번째수 : ");
  String b = in.readLine();
  int m = Integer.parseInt(a);
  int n = Integer.parseInt(b);
  int l = m*n;
  int gcm = 0;
  int lcm = 0;
 
  while(true){
   if (m > n) { //큰수에서 작은수를 계속 빼값니다.
    m = m - n;
   }else{
    if (n > m) {
     n = n - m;
    }else{
     gcm = m; //최대공약수는 두수가 같아졌을때의 값
     lcm = l/m; //최소공배수는 두수를 곱한 값에다 최대공약수로 나눠주면 되지요...
     break;
    }
   }
  }
  System.out.println("최대공약수 : "+gcm);
  System.out.println("최소공배수 : "+lcm);
 }
}




AND


public class pivo {
 public static void main(String[] args) {
  int i = 1;
  int j = 1;
  int s = 2;
  for (int n = 2; n < 10; n++) { // 10은 수열의 크기
   int k = i+j; //앞의 두수를 합한값과
   s = s + k; // s를 더해줘서 다음값을 정해주고
   i = j; // 한칸씩 뒤로 당겨준다...^^
   j = k;
   System.out.print(s+" ");
  }
 }
}
0+1+1+2+3+5+8+13....



AND