このディレクトリの索引
http://toro.2ch.net/test/read.cgi/tech/1309076891/978
#  【課題】http://www.dotup.org/uploda/www.dotup.org3052126.txt.html 
#  【形態】1. Javaアプリケーション(main()で開始) 
#  【GUI】4. 制限なし 
#  【期限】提出期限:6月4日 20時まで 
#  【Ver】java version "1.7.0_03" 
#  【 補足 】Java初心者なので教えていただけると幸いです。  
# 
# 
#  最小公倍数と最大公約数 
#  
#  2数MとNの最小公倍数と最大公約数を求める
#  
#  整数を2 つM,N 入力して,その最小公倍数(LCM)と最大公約数(GCD) を求めて表示する
#  
#  for文で1つのソースコード
#  「ユークリッドの互助法」でもう一つ作成する。
#  
#  
#  一応やってみましたが最小公倍数がうまく出力せずユークリッドを使用する方法はよくわかりませんでした。
#  よろしくお願いします。
#  ソース
#  import java.util.Scanner;
#  public class LCM_GCD {
#  		
#  	  public static void main(String args[]) 
#  	  {
#  	    
#  		Scanner sc = new Scanner(System.in);
#  	    int i;
#  	    int j=0;
#  	    int m,n;
#  	    int a=0;
#  		System.out.println("整数を2つ入力してください");
#  		m=sc.nextInt();
#  		n=sc.nextInt();
#  
#  		
#  		for( i = 1; i <= n; i++) {
#  			if(m*i % n == 0) {
#  				a = i;
#  				break;
#  			}
#  		}
#  		
#  		
#  		
#  		// for(i=1;i<=n;i++){
#  			//for(j=1;j<=m;j++){
#  				//if(m*i==n*j){
#  					//a=m*i;
#  					//break;
#  				//}
#  		//	}
#  		//}
#  		System.out.println("最小公倍数は"+a);
#  		
#  		
#  		for(j=m;j>=1;j--){
#  				if(m%j==0&&n%j==0){
#  					break;
#  				}
#  			}
#  		System.out.println("最大公約数は"+j);
#  		
#  		
#  		
#  		
#  	  }
#  	  
#  }

'ユークリッドの互除法により最大公約数を得る'(_m,_m,_m).
'ユークリッドの互除法により最大公約数を得る'(_m,_n,_最大公約数) :-
        _m > _n,
        _剰余 is _m mod _n,
        ユークリッドの互除法により最大公約数を得る(_m,_n,_剰余,_最大公約数).
'ユークリッドの互除法により最大公約数を得る'(_m,_n,_最大公約数) :-
        _m < _n,
        ユークリッドの互除法により最大公約数を得る(_n,_m,_最大公約数).

ユークリッドの互除法により最大公約数を得る(_,_最大公約数,0,_最大公約数) :- !.
ユークリッドの互除法により最大公約数を得る(_m,_n,_剰余,_最大公約数) :-
        'ユークリッドの互除法により最大公約数を得る'(_n,_剰余,_最大公約数).

最小公倍数(_m,_n,_最小公倍数) :-
        Y is _m * _n,
        ユークリッドの互除法により最大公約数を得る(_m,_n,_最大公約数),
        _最小公倍数 is ( _m * _n ) // 最大公約数.