最大公约数 - 九度教程第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)相关推荐

  1. Piggy-Bank - 九度教程第 102 题

    Piggy-Bank - 九度教程第 102 题 题目 时间限制:1 秒 内存限制:32 兆 特殊判题:否 题目描述: Before ACM can do anything, a budget mus ...

  2. 质因数的个数 - 九度教程第54题

    质因数的个数 - 九度教程第54题 题目 时间限制:1 秒 内存限制:32 兆 特殊判题:否 题目描述: 求正整数 N(N>1)的质因数的个数. 相同的质因数需要重复计算.如 120=22235 ...

  3. 不容易系列之一(九度教程第 94 题)

    不容易系列之一(九度教程第 94 题) 时间限制:1 秒 内存限制:128 兆 特殊判题:否 1.题目描述: 大家常常感慨,要做好一件事情真的不容易,确实,失败比成功容易多了!做好"一件&q ...

  4. Excel排序 九度教程第4题

    题目链接 题目描述: Excel可以对一组纪录按任意指定列排序.现请你编写程序实现类似功能. 对每个测试用例,首先输出1行"Case i:",其中 i 是测试用例的编号(从1开始) ...

  5. 数制转换 九度教程第44题 a进制数转换为b进制数 不同进制之间相互转换

    题目链接 解题思路: 1.将a进制数转换成十进制数: 2.将十进制数转换成b进制数: 3.使用do while 循环,可以确保即使被转换数字是 0 ,程序也能正常工作. AC代码: #include& ...

  6. 成绩排序 九度教程c语言,九度OJ 1089 数字反转

    题目分析: 使用队列存放每一位的数字,然后输出并计算得到反转数值,从而实现数字反转. 源代码: [cpp] #include #include using namespace std; int mai ...

  7. 九度oj 第1题 二维数组中的查找 何海涛:《剑指Offer:名企面试官精讲典型编程题》

    一.题目信息 题目描述: 在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序.请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数. 输入: ...

  8. 动态规划 背包问题小结 0-1背包(采药 九度第101题) 完全背包(Piggy-Bank POJ 1384) 多重背包(珍惜现在,感恩生活 九度第103题)

    本小结介绍0-1背包.完全背包以及多重背包问题 记忆要点: 0-1背包:二维数组情况下,顺序遍历体积或者倒序均可以                降维情况下需倒序遍历体积 完全背包:数组降维+顺序遍历 ...

  9. 非常可乐(杭州电子科技大学第四届大学生程序设计竞赛)(九度2013年教程87题)

    题目描述:大家一定觉的运动以后喝可乐是一件很惬意的事情,但是seeyou却不这么认为.因为每次当seeyou买了可乐以后,阿牛就要求和seeyou一起分享这一瓶可乐,而且一定要喝的和seeyou一样多 ...

  10. 剑指Offer - 九度1511 - 从尾到头打印链表

    剑指Offer - 九度1511 - 从尾到头打印链表2013-11-29 21:08 题目描述: 输入一个链表,从尾到头打印链表每个节点的值. 输入: 每个输入文件仅包含一组测试样例. 每一组测试案 ...

最新文章

  1. 使用hyperopt(Bayesian optimization)为xgboost模型挑选最优参数进行模型构建、by Cross Validation
  2. Mogees将手势识别技术运用于新产品
  3. linux screen 命令简单使用
  4. 一些重要的算法(转)
  5. setiosflags(ios::fixed)和setprecision()
  6. 关于sql中的with(nolock)
  7. ES5-6 作用域、作用域链、预编译、闭包基础
  8. 原生js追加html代码,原生js实现给指定元素的后面追加内容
  9. 递归方法无限级菜单--javascript v1.0
  10. ASP.net控件开发系列(四)
  11. oracle百万级数据导入,用Perl从oracle导出百万级数据到excel
  12. Atom 和 Sublime Text 相比哪个好?
  13. 数论入门符号_大o符号快速入门
  14. mysql自定义序号_mysql序列_mysql序列号生成器 mysql自定义函数生成序列号的例子...
  15. Access入门之索引查询
  16. 微信公众平台模拟登录 php,微信公众平台模拟登陆问题
  17. 解决Extraneous non-props attributes (border, class) were passed to component but could not be
  18. node--puppeteer网页截屏
  19. php语言中Excel表格导入数据库的方法详解
  20. 【ACO三维路径规划】蚁群算法无人机三维路径规划【含Matlab源码 1278期】

热门文章

  1. 4.串口操作之API篇 CreateFile
  2. HTC Vive安装及如何连接电脑详细教程(全程图解)
  3. 181116每日一句
  4. unity的函数生命周期
  5. Atitit 获取ip的http标头 目录 1.1. REMOTE_ADDR 是你的客户端跟你的服务器“握手”时候的IP 1 1.2.  HTTP_CLIENT_IP 客户ip。握手ip 1 1.3
  6. Atitit mq的AMQP 协议 STOMP2 、MQTT3 等协议  MQTT,XMPP,STOMP,AMQP,WAMP 目录 1. AMQP in a Nutshell 1 2. MQTT概述
  7. Atitit 声音和音乐检索 多媒体信息检索 信息检索 目录 1.1. 14.4.5 音频基础知识 1 1.2. 多媒体信息检索的方法主要有哪些?其原理是什么? 1 1.3. 基于文本的检索和基于
  8. Atitit 图片压缩功能 attilax艾提拉总结 缩略图功能 小于一定分辨率不压缩,防止小图放大 Resize图片缩小 图像质量参数 等比压缩 Gm的事业使用 1.更改当前目录下*
  9. Atitit 装备工具分类 attilax总结 艾龙著 工具链体系 武器与软件行业工具也是很近似的的。 1. 分类思维 1 1.1. 总分类:冷、热 1 1.2. 轻、重、大规模杀伤性 1
  10. Atitit 发帖机系列(6) USRQBN2201 setup spec安装程序的实现规范与标准化解决方案