A1028. 选择计算
问题描述
输入三个整数x,y,z。
根据z的值的不同对x和y进行计算:
z=1:输出x+y的值;
z=2:输出x-y的值;
z=3:输出x*y的值;
z=4:输出x/y的值(若除不尽取整数部分);
z=5:输出x%y的值
z=6:输出x和y的最大公约数
z=7:输出x和y的最小公倍数
根据z的值的不同对x和y进行计算:
z=1:输出x+y的值;
z=2:输出x-y的值;
z=3:输出x*y的值;
z=4:输出x/y的值(若除不尽取整数部分);
z=5:输出x%y的值
z=6:输出x和y的最大公约数
z=7:输出x和y的最小公倍数
输入格式
只有一行,包括三个整数,x,y,z,其中2<=x,y<=200,1<=z<=7,相邻的两个数之间用空格符隔开。
输出格式
只有一个数,表示计算后的值
样例输入
100 80 6
样例输出
20
package www.tsinsen.com; import java.util.Scanner; public class A1028 { public static void main(String[] args) { // TODO Auto-generated method stub Scanner scan=new Scanner(System.in); int x=scan.nextInt(); int y=scan.nextInt(); int z=scan.nextInt(); int result=fun(x,y,z); System.out.println(result); } public static int fun(int x,int y,int z) { switch (z) { case 1: return x+y; case 2: return x-y; case 3: return x*y; case 4: return x/y; case 5: return x%y; case 6: return gongYueShu(x, y); case 7: return gongBeishu(x, y); default: break; } return 0; } public static int gongYueShu(int x,int y) { int n=Math.min(x, y); int i; for(i=n;i>0;i--) { if(x%i==0&&y%i==0) { break; } } return i; } public static int gongBeishu(int x,int y) { int n=Math.max(x,y); int i; for(i=n;i<=x*y;i++) { if(i%x==0&&i%y==0) { break; } } return i; } }