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的最小公倍数
输入格式
  只有一行,包括三个整数,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;
    }
}

 

posted @ 2018-02-05 17:13  henu小白  阅读(171)  评论(0编辑  收藏  举报