习题 5.3 输入两个正整数m和n,求其最大公约数和最小公倍数。
来源:互联网 发布:2016中国象棋软件排名 编辑:程序博客网 时间:2024/06/12 21:58
C程序设计 (第四版) 谭浩强 习题5.3 个人设计
习题 5.3 输入两个正整数m和n,求其最大公约数和最小公倍数。
代码块
最大公约数与最小公倍数的乘积是两个数的乘积。
方法1:(利用while循环结构和欧几里得算法)
#include <stdio.h>int main(){ int m, n, a, b, r, g; //输入正整数m和n printf("Please enter m & n: "); scanf("%d %d", &m, &n); a = m; b = n; r = m % n; while (r != 0){ m = n; n = r; r = m % n; } g = a * b / n; printf("HCF=%d\n", n); //最大公约数 printf("LCM=%d\n", g); //最小公倍数 return 0;}
方法2:(利用for循环结构和短除算法)
#include <stdio.h>int main(){ int m, n; //输入正整数m和n printf("Please enter m & n: "); scanf("%d %d", &m, &n); //短除法判断 for (int i=2, s=1, x=m, y=n; i<=m && i<=n;) !(m%i) && !(n%i) ? s*=i, m/=i, n/=i, i=2 : i++; printf("HCF=%d\n", s); //输出最大公约数 printf("LCM=%d\n", x*y/s); //输出最小公倍数 return 0;}
方法3:(利用函数的模块化设计)
#include <stdio.h>void input(); //定义输入函数int HCF(int x, int y); //定义最大公约数函数int LCM(int x, int y); //定义最小公倍数函数int m, n; //定义全局变量int main(){ input(); //调用输入函数 printf("HCF=%d\n", HCF(m, n)); //输出最大公约数 printf("LCM=%d\n", LCM(m, n)); //输出最小公倍数 return 0;}//输入函数void input(){ printf("Please enter m & n: "); scanf("%d %d", &m, &n);}//最大公约数函数int HCF(int x, int y){ for (int i=2, s=1; i<=x && i<=y;) !(x%i) && !(y%i) ? s*=i, x/=i, y/=i, i=2 : i++; return s;}//最小公倍数函数int LCM(int x, int y){ return x*y/HCF(x, y);}
阅读全文
0 1
- 习题 5.3 输入两个正整数m和n,求其最大公约数和最小公倍数。
- :输入两个正整数m和n,求其最大公约数和最小公倍数。
- 输入两个正整数m和n,求其最大公约数和最小公倍数
- 输入两个正整数m和n,求其最大公约数和最小公倍数
- 输入两个正整数m和n,求其最大公约数和最小公倍数
- 输入两个正整数m和n,求其最大公约数和最小公倍数
- 输入两个正整数m和n,求其最大公约数和最小公倍数
- 输入两个正整数m和n,求其最大公约数和最小公倍数
- 输入两个正整数m和n,求其最大公约数和最小公倍数
- 输入两个正整数m和n,求其最大公约数和最小公倍数。
- 输入两个正整数m和n,求其最大公约数和最小公倍数。
- #输入两个正整数m和n,求其最大公约数和最小公倍数
- 输入两个正整数m和n,求其最大公约数和最小公倍数
- 输入两个正整数m和n,求其最大公约数和最小公倍数
- 输入m和n两个正整数,求其最大公约数和最小公倍数
- 输入两个正整数m和n,求其最大公约数和最小公倍数
- 2.输入两个正整数m,n,求其最大公约数和最小公倍数
- 题目:输入两个正整数m和n,求其最大公约数和最小公倍数。
- 刷题——Lake Counting POJ
- jQuery向后台传入json格式数据的方法
- 我使用过的Linux命令之unrar
- 学会4种备份MySQL数据库(基本备份方面没问题了)
- 异常(try……catch……finally、throws和throw的区别、自定义异常)
- 习题 5.3 输入两个正整数m和n,求其最大公约数和最小公倍数。
- Faster rcnn--改变anchor的size
- 解决Spring的声明式事务中的自定义异常不回滚问题
- Java中数组的使用
- CNN的训练图像与测试图像不一致的多尺度问题
- 名字隐藏与重载
- WebRTC学习之ICE深入理解
- 使用python获取email的subject中带有指定字符串的邮件
- leetcode--Balanced Binary Tree