例4.4 最大公约数 - 九度教程第47题(最大公约数GCD)
最大公约数 - 九度教程第47题
题目
题目描述:
输入两个正整数,求其最大公约数。
输入:
测试数据有多组,每组输入两个正整数。
输出:
对于每组输入,请输出其最大公约数。
样例输入:
49 14
样例输出:
7
来源:
2011 年哈尔滨工业大学计算机研究生机试真题
解析:
利用一种高效的算法(欧几里得算法),求解最大公约数。
把求a、b的最大公约数转换成求b、a%b的最大公约数。
若a、b全为0,则它们的最大公约数不存在;若a、b其中之一为0,则它们的最大公约数为a、b中非零的那个;若a、b都不为0,则使新a=b,新b=a%b,然后重复该过程。
代码1:(递归)
#include<stdio.h>
int gcd(int a,int b)
{if(b==0){return a; //若b为0则最大公约数为a}else{return gcd(b,a%b); //否则改为求b与a%b的最大公约数}
}
int main()
{int a,b;while(scanf("%d%d",&a,&b)!=EOF) //输入两个正整数{printf("%d\n",gcd(a,b)); //输出所求的最大公约数}return 0;
}
代码2:(非递归)
#include<stdio.h>
int gcd(int a,int b)
{while(b!=0) //只要b不为0则一直持续该过程{int x=a%b;a=b; //使a变成bb=x; //使b变成a%b}return a; //当b为0时,a即是所求
}
int main()
{int a,b;while(scanf("%d%d",&a,&b)!=EOF) //输入两个正整数{printf("%d\n",gcd(a,b)); //输出所求的最大公约数}return 0;
}
例4.4 最大公约数 - 九度教程第47题(最大公约数GCD)相关推荐
- Piggy-Bank - 九度教程第 102 题
Piggy-Bank - 九度教程第 102 题 题目 时间限制:1 秒 内存限制:32 兆 特殊判题:否 题目描述: Before ACM can do anything, a budget mus ...
- 质因数的个数 - 九度教程第54题
质因数的个数 - 九度教程第54题 题目 时间限制:1 秒 内存限制:32 兆 特殊判题:否 题目描述: 求正整数 N(N>1)的质因数的个数. 相同的质因数需要重复计算.如 120=22235 ...
- 不容易系列之一(九度教程第 94 题)
不容易系列之一(九度教程第 94 题) 时间限制:1 秒 内存限制:128 兆 特殊判题:否 1.题目描述: 大家常常感慨,要做好一件事情真的不容易,确实,失败比成功容易多了!做好"一件&q ...
- Excel排序 九度教程第4题
题目链接 题目描述: Excel可以对一组纪录按任意指定列排序.现请你编写程序实现类似功能. 对每个测试用例,首先输出1行"Case i:",其中 i 是测试用例的编号(从1开始) ...
- 数制转换 九度教程第44题 a进制数转换为b进制数 不同进制之间相互转换
题目链接 解题思路: 1.将a进制数转换成十进制数: 2.将十进制数转换成b进制数: 3.使用do while 循环,可以确保即使被转换数字是 0 ,程序也能正常工作. AC代码: #include& ...
- 成绩排序 九度教程c语言,九度OJ 1089 数字反转
题目分析: 使用队列存放每一位的数字,然后输出并计算得到反转数值,从而实现数字反转. 源代码: [cpp] #include #include using namespace std; int mai ...
- 九度oj 第1题 二维数组中的查找 何海涛:《剑指Offer:名企面试官精讲典型编程题》
一.题目信息 题目描述: 在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序.请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数. 输入: ...
- 动态规划 背包问题小结 0-1背包(采药 九度第101题) 完全背包(Piggy-Bank POJ 1384) 多重背包(珍惜现在,感恩生活 九度第103题)
本小结介绍0-1背包.完全背包以及多重背包问题 记忆要点: 0-1背包:二维数组情况下,顺序遍历体积或者倒序均可以 降维情况下需倒序遍历体积 完全背包:数组降维+顺序遍历 ...
- 非常可乐(杭州电子科技大学第四届大学生程序设计竞赛)(九度2013年教程87题)
题目描述:大家一定觉的运动以后喝可乐是一件很惬意的事情,但是seeyou却不这么认为.因为每次当seeyou买了可乐以后,阿牛就要求和seeyou一起分享这一瓶可乐,而且一定要喝的和seeyou一样多 ...
- 剑指Offer - 九度1511 - 从尾到头打印链表
剑指Offer - 九度1511 - 从尾到头打印链表2013-11-29 21:08 题目描述: 输入一个链表,从尾到头打印链表每个节点的值. 输入: 每个输入文件仅包含一组测试样例. 每一组测试案 ...
最新文章
- 使用hyperopt(Bayesian optimization)为xgboost模型挑选最优参数进行模型构建、by Cross Validation
- Mogees将手势识别技术运用于新产品
- linux screen 命令简单使用
- 一些重要的算法(转)
- setiosflags(ios::fixed)和setprecision()
- 关于sql中的with(nolock)
- ES5-6 作用域、作用域链、预编译、闭包基础
- 原生js追加html代码,原生js实现给指定元素的后面追加内容
- 递归方法无限级菜单--javascript v1.0
- ASP.net控件开发系列(四)
- oracle百万级数据导入,用Perl从oracle导出百万级数据到excel
- Atom 和 Sublime Text 相比哪个好?
- 数论入门符号_大o符号快速入门
- mysql自定义序号_mysql序列_mysql序列号生成器 mysql自定义函数生成序列号的例子...
- Access入门之索引查询
- 微信公众平台模拟登录 php,微信公众平台模拟登陆问题
- 解决Extraneous non-props attributes (border, class) were passed to component but could not be
- node--puppeteer网页截屏
- php语言中Excel表格导入数据库的方法详解
- 【ACO三维路径规划】蚁群算法无人机三维路径规划【含Matlab源码 1278期】
热门文章
- 4.串口操作之API篇 CreateFile
- HTC Vive安装及如何连接电脑详细教程(全程图解)
- 181116每日一句
- unity的函数生命周期
- Atitit 获取ip的http标头 目录 1.1. REMOTE_ADDR 是你的客户端跟你的服务器“握手”时候的IP	1 1.2. HTTP_CLIENT_IP 客户ip。握手ip	1 1.3
- Atitit mq的AMQP 协议 STOMP2 、MQTT3 等协议 MQTT,XMPP,STOMP,AMQP,WAMP 目录 1. AMQP in a Nutshell	1 2. MQTT概述
- Atitit 声音和音乐检索 多媒体信息检索 信息检索 目录 1.1. 14.4.5 音频基础知识 	1 1.2. 多媒体信息检索的方法主要有哪些?其原理是什么?	1 1.3. 基于文本的检索和基于
- Atitit 图片压缩功能 attilax艾提拉总结 缩略图功能 小于一定分辨率不压缩,防止小图放大 Resize图片缩小 图像质量参数 等比压缩 Gm的事业使用 1.更改当前目录下*
- Atitit 装备工具分类 attilax总结 艾龙著 工具链体系 武器与软件行业工具也是很近似的的。 1. 分类思维	1 1.1. 总分类:冷、热	1 1.2. 轻、重、大规模杀伤性	1
- Atitit 发帖机系列(6) USRQBN2201 setup spec安装程序的实现规范与标准化解决方案