输入两个数,求最大公约数和最小公倍数。(用两种方法:辗转相除法和普通方法)。

//辗转相除法

int num1 = 48;

int num2 = 20;

int n1 = num1;  //n1存被除数

int n2 = num2; //n2存除数

int n3 = n1 % n2;

int n4 = n1 * n2;

while (n3 != 0) {

n1 = n2;

n2 = n3;

n3 = n1 % n2;

}

Console.WriteLine ("最大公约数:" + n2);

Console.WriteLine ("最小公倍数:" + num1 * num2 / n2);


// 老师讲的普通方法

int num1 = 48;

int num2 = 20;

int pul = num1 * num2;

// 取两者之间的最小值

int min = num1 < num2 ? num1 : num2;

int n = 1;

// for 循环 递减匹配余数 知道余数为0

for (int i = min; i >= 1; i--) {

// 两个数 余数为0

if ((num1 % i == 0) && (num2 % i == 0)) {

n = i;

// i递减 当取到第一个值是 停止语句执行

break;

}

}

Console.WriteLine ("最大公约数:" + n);

Console.WriteLine ("最小公倍数:" + pul / n);

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 知识点: 注:int类型默认32位有大小范围 且第一位为符号位 0 为正 1 为负 8.4作业 A:1、风力预警系...
    cGunsNRoses阅读 1,121评论 0 0
  • 背景 一年多以前我在知乎上答了有关LeetCode的问题, 分享了一些自己做题目的经验。 张土汪:刷leetcod...
    土汪阅读 12,771评论 0 33
  • A: 1、编程将所有“水仙花数”打印出来,并打印其总个数。“水仙花数”是一个各个位立方之和等于该整数的三位数。 f...
    妈妈说喝牛奶能长个阅读 390评论 0 0
  • 方法1 (数据类型)(最小值+Math.random()*(最大值-最小值+1)) 例: (int)(1+Math...
    GB_speak阅读 41,180评论 2 6
  • //1、风力预警系统有如下标准:普通风力小于5级,为蓝色;大于5小于8,为黄色;大于8小于10为橙色;大于10位红...
    答泡浴阅读 332评论 0 0