由于x与y的最大公约数不可能比x与y中较小者大,因此,先找到x与y中较小者t,然后从t开始减1,t到1之间第一个能同时整除x与y的数,就是所求的最大公约数
2017-11-23 17:37
866 查看
#include <stdio.h>//用穷举法求两正整数的最大公约数 int main() { int x,y,m,t; printf("请输入两个正整数:"); scanf("%d%d",&x,&y); if(x>y)//交换x与y的值 { m=x; x=y; y=m; }//x<y for(t=x;t>0;t--) { if(x%t==0 && y%t==0) break; } printf("%d与%d的最大公约数是%d\n",x,y,t); }
运行如下:
相关文章推荐
- 最近在做ShareSDK的微信分享的时候遇到了点问题,就是分享的时候选择微信好友或者微信朋友圈会打开一下微信然后界面都还没加载出来就闪退。这个问题我在网上找了好多种的可能的情况以及处理办法,最终找到了
- 对正整数x、y连续进行求余,直到余数为0,此时非0的除数就是最大公约数。x除以y的余数是r,若r不等于0,则把y作为新的x,r作为新的y,重复x除以y的运算,直到r=0为止,此时y就为所求的最大公约数
- 同时找到数组中的最小值和最大值
- C语言必会面试题(3、耶稣有13个门徒,其中有一个就是出卖耶稣的叛徒,请用排除法找出这位叛徒:13人围坐一圈,从第一个开始报号:1,2,3,1,2,3...。凡是报到“3”就退出圈子,...)
- 求最大公约数,欧几里德和连续整除法
- 耶稣有13个门徒,其中有一个就是出卖耶稣的叛徒,请用排除法找出这位叛徒:13人围坐一圈,从第一个开始报号:1,2,3,1,2,3...。凡是报到“3”就退出圈子,最后留在圈子内的人就是出卖耶稣的叛徒。
- 求两两之间最大的公约数
- 耶稣有13个门徒,其中有一个就是出卖耶稣的叛徒,请用排除法找出这位叛徒:13人围坐一圈,从第一个开始报号:1,2,3,1,2,3„„,凡是报到“3”就退出圈子,最后留在圈内的人就是出卖耶稣的叛徒,请找
- 无序数组O(n)时间找到排序后的两个相邻元素使得他们之间的差最大
- WCF 提示 "由于正在读取的 XML 数据的嵌套级比配额所允许的多,因此已超出最大读取深度 (32)" 的解决办法
- 后端往前段传递参数,大部分人都清楚,无非就是发起ajax请求获取后端值,然后通过js写入html相应位置即可。但是前段html页面之间,怎么传递参数呢?
- 关于“除数和余数的最大公约数就是被除数和除数的最大公约数”
- 给定一个二叉树,找到最大路径和。该路径可以在树中的任何节点处开始和结束。
- 耶稣有13个门徒,其中有一个就是出卖耶稣的叛徒,请用排除法找出这位叛徒:13人围坐一圈,从第一个开始报号:1,2,3,1,2,3……,凡是报到“3”就退出圈子,最后留在圈内的人就是出卖耶稣的叛徒,请找
- 让win2003突破两个人同时远程登录的限制,由于2003默认情况下远程连接只能允许两个用户同时登录,超过两人同时登录就会提示:终端服务器超出最大连接数。。
- 3 耶稣有13个门徒,其中有一个就是出卖耶稣的叛徒,请用排除法找出这位叛徒:13人围坐一圈,从第一个开始报号:1,2,3,1,2,3...。凡是报到“3”就退出圈子,最后留在圈子内的人就是出卖耶稣的
- 6个面的骰子 标上1 2 3 4 5 6 投掷8次 求出现和的概率最大的数 ,就是这8次的和最有可能是多少
- 输入一串数字,将其中最小的与第一个调换,最大的与第二个调换,然后输出
- html中 target 的所有 4 个值都以下划线开始。任何其他用一个下划线作为开头的窗口或者目标都会被浏览器忽略,因此,不要将下划线作为文档中定义的任何框架 name 或 id 的第一个字符。
- JQuery确定第一个参数在数组中的位置,从0开始计数(如果没有找到则返回 -1 )。