习题7.7
来源:互联网 发布:企业海关数据免费查询 编辑:程序博客网 时间:2024/06/05 02:21
/*分别使用穷举法、欧几里得算法、递归方法编程计算并输出从键盘输入的两个正整数的最大公约数,最后输出两个正整数的最小公倍数。*/#include "stdio.h" #include "stdlib.h" //采用穷举法计算最大公约数int exhaustion(int a, int b) { int t = a; if(b<a) t = b; for(; t>0; t--) { if(a%t==0 && b%t==0) break; } return t; } //采用欧几里得算法求最大公约数 int Euclid(int a, int b) { int t; while(b!=0) { t = b; b = a % b; a = t; } return a; } //采用递归算法求最大公约数int rec_gcd(int a, int b) { return b==0 ? a : rec_gcd(b, a%b); } //求两个数的最小公倍数 int lcm_fun(int a, int b, int gcd) { int t = a * b / gcd; return t; } int main() { int x, y; int gcd, lcm; printf("请从键盘输入两个数:\n"); scanf("%d %d", &x, &y); gcd = exhaustion(x, y); printf("穷举法计算的最大公约数为:%d\n", gcd); gcd = Euclid(x, y); printf("欧几里德算法计算的最大公约数为:%d\n", gcd); gcd = rec_gcd(x, y); printf("递归算法计算的最大公约数为:%d\n", gcd); lcm = lcm_fun(x, y, gcd); printf("两数的最小公倍数为:%d\n", lcm); return 0; }
运行结果:
阅读全文
0 0
- 习题7.7
- 习题7(7.7)
- 习题
- 习题
- 习题
- 习题
- 习题
- 习题
- 习题
- 习题
- 习题
- 习题
- 习题
- 习题
- 习题
- 习题
- 习题
- 习题
- footer不足一屏居底
- 数据结构与算法之9(哈夫曼编解码与广度优先搜索)
- 为Ext.form.Panel的xtype:label添加事件
- linux-centos系统下简单/源码编译安装git
- Java并发编程学习——《Java Concurrency in Practice》学习笔记 1.简介
- 习题7.7
- mybatis 需要注意的点 MyBatis 插入空值时,需要指定JdbcType
- break循环
- Java并发编程学习——《Java Concurrency in Practice》学习笔记 2.线程安全性
- android 音量设置工具类
- MFC的dll导出的界面不能输入
- HTML5教程-超文本标记语言编程
- JavaScript获取浏览器名称、版本等信息
- 3. 打包和工具链(Go Tutorial)