정보 처리/알고리즘

약수(Divisor) 구하기

본클라쓰 2010. 8. 28. 17:04

약수란 어떤 수를 나누었을 때 나머지가 0인 수를 말하며, 배수 관계에 서로 반대되는 개념이다. 약수는 보통 정수에 대해 정의되지만, 일반화하여 정역에 대해 정의하기도 한다.

 

import java.util.ArrayList;
import javax.swing.JOptionPane;

 

public class Divisor {
 
    private int input = 1;
    private ArrayList<Integer> divisor = null;
 
 
    public Divisor() {
        divisor = new ArrayList<Integer>();
        getInput();
    }
 
 
    public void getInput() {
        this.input = Integer.parseInt( JOptionPane.showInputDialog("약수를 구할 정수 입력 :") );
    }
 
 
    public ArrayList<Integer> getDivisor() {
  
        for (int i = 1 ; i <= this.input ; i++ ) {
   
            if ( input % i == 0 ) {
                divisor.add(i); 
            }
   
        }
  
        return divisor;
    }
 
 
    public void showDivisor() {
  
        StringBuffer sb = new StringBuffer("약수 : \n");
        int size = this.divisor.size();
  
        for( int i = 0 ; i < size ; i++ ) {
            sb.append( this.divisor.get(i) + "  ");
   
            if ( ( i % 9 == 0)&&(i!=0) ) {
                 sb.append("\n");
            }
        }
        JOptionPane.showMessageDialog(null, sb);
    }
 
}


[예제로 실행가능한 jar 파일] 

divisor.jar

 

divisor.jar
0.0MB