package jungbo;
import java.util.InputMismatchException;
import java.util.Scanner;
public class T32IntegerFactorization {
public static void main(String[] args) {
int num;//수를 입력받을 변수
int print;//출력을 위한 변수
Scanner scan = new Scanner(System.in);
while(true){
try{
System.out.print("소인수분해 할 수를 입력하세요. : ");
num = scan.nextInt();
print = num;//num은 변하기 때문에 출력을 위해 print에 미리 넣어둠
break;
}catch(InputMismatchException ex){
System.out.println("숫자만 입력해야 합니다.");
}
}
scan.close();
int array[] = new int[20];//답항을 출력할 변수
int cnt=0;//배열 자리 지정 변수
int div=2;//나누기에 사용할 변수
if(num>=2){
while(true){
if(num%div==0){
array[cnt]=div;
cnt++;
num=num/div;
if(num==1)break;
}else{
div++;
}
}
}
System.out.print(print+" = ");
for(cnt=0;cnt<array.length;cnt++){
if(array[cnt]!=0){
System.out.print(array[cnt]);
if(array[cnt+1]!=0){
System.out.print("*");
}
}
}
}
}
'JAVA > 알고리즘 예제' 카테고리의 다른 글
[JAVA] 행렬 변환 (1) | 2016.09.06 |
---|---|
[JAVA] 진법 변환(Radix Transformation) (1) | 2016.09.06 |
[JAVA] 대각선 채우기(diagonal) (1) | 2016.09.05 |
[JAVA] 합병(Merge) (1) | 2016.09.05 |
[JAVA] 90도 회전 (Rotate) (1) | 2016.09.02 |