JAva言語は最小公倍数と最大公約数の3種類のアルゴリズムを求めます

1399 ワード

import java.util.Scanner;


public class Muitipie {
	public static void main(String[] args) {
		Scanner in = new Scanner(System.in);
		System.out.print("input x :");
		int x = in.nextInt();
		System.out.print("input y :");
		int y = in.nextInt();
		
		int z = Method(x,y);
		System.out.println("     :");
		System.out.println("divisor : "+z);
		System.out.println("multiple : "+(x*y/z));
		
		System.out.println("   :");
		z = Subtraction(x,y);
		System.out.println("divisor : "+z);
		System.out.println("multiple : "+(x*y/z));
		
		System.out.println("   :");
		z = divisor(x,y);
		System.out.println("divisor : "+divisor(x,y));
		z=multiple(x,y);
		System.out.println("multiple : "+multiple(x,y));
	}
	
	//     :     
	public static int Method(int x,int y){
		int a,b,c;
		a=x;
		b=y;
		while(b!=0){
			c=a%b;
			a=b;
			b=c;
		}
		return a;
	}
	//   
	public static int Subtraction(int x,int y){
		while(x!=y){
			if(x>y){
				x=x-y;
			}
			else{
				y=y-x;
			}
		}
		return x;
	}
	//         
	public static int divisor(int x,int y){
		int z;
		for(z=x;z>0;z--){
			if(x%z==0&&y%z==0){
				break;
			}
		}
		return z;
	}
	//    
	public static int multiple(int x,int y){
		int z;
		for(z=x;;z++){
			if(z%x==0&&z%y==0){
				break;
			}
		}
		return z;
	}
	
}