1.4输入整数m和n,求其最大公约数和最小公倍数

时间:2021-01-10 00:30:21

摩尔的Java学习笔记1.4

第一周作业:

1、输出一行文字;

2、输入一个字符串,判断其中字母、数字、其他字符的个数;
3、编程实现从键盘依次输入姓名(字符串)、年龄(整型)、性别(字符)和成绩(浮点型),然后依次显示上述内容;

4、输入整数m和n,求其最大公约数和最小公倍数;
5、输入若干个整数,求其最大值、最小值和平均值;
6、求出自然数101~199中的所有素数;

7、顺序输出1到100之间所有能被7整除的整数;
8、已知2000.1.1是星期六,根据任意给定的日期(2000年以后的),请编程计算出该天是星期几;
9、猜数游戏,随机生成一个整数(0-100),用户输入他所猜的数,程序回答大了或者小了,用户再输入他所猜的数,直至猜对了为止。

4、输入整数m和n,求其最大公约数和最小公倍数;

//薛莲婷
//输入整数m和n,求其最大公约数和最小公倍数(3种方法求最大公约数)
import java.util.Scanner;

class Assignment3 {

    public static void main(String[] args) {

        Scanner sc=new Scanner(System.in);

        System.out.println("请输入整数m和n:");

        int m=sc.nextInt();
        int n=sc.nextInt();

        int m0=m;               //存放m的原值
        int n0=n;               //存放n的原值

        if(m<n)                 //保证m>=n
        {
            int temp=m;
            m=n;
            n=temp;
        }

        //辗转相除法(欧几里德算法) 
        int r;                  //r是余数
        while((r=m%n)!=0)
        {
            m=n;
            n=r;
        }


/* //更相减损法(等值算法) int d; //d是差 while((d=m-n)!=0) { if(d>n) { m=d; } else { m=n; n=d; } } //短除法 int min=1; //存放最大公约数 for(int i=2;i<=n;i++) { while((m%i==0)&&(n%i==0)) { m/=i; n/=i; min*=i; } } n=min; //在这个程序中,为了三种方法的输出语句的一致性考虑,用此句使n的值等于最大公约数 */      

        System.out.println("最大公约数是:"+n+"\n最小公倍数是:"+(m0*n0/n));

        sc.close(); 
    }

}