题目:求a和b的最大公约数

分析:首先我们要知道最大公约数是什么,就是指两个或多个整数共有约数中最大的一个。好了,知道了最大公约数是什么,就可以求解它了,那么就相当于比较俩个数的约数,取其相等的最大的一个就对了,是吧?约数是啥???约数就是能把a或者b整除的数呗~

好了~一起来看看代码吧~

代码:

 #include<stdio.h>
void gcd(long int a,long int b) //子函数求gcd
{
long int i,t=,j=,k=,max,q=;
long int x[],y[]; //x[]存放第一个数的除数,y[]存放第二个数被第一个除数整除的数
for(i=a;i>;i--) //x[]
{
if(a%i==)
x[j++]=i;
t++;
}
for(i=;i<t;i++) //y[]
{
if(b%x[i]==)
y[k++]=x[i];
q++;
}
max=y[]; //选择最大的一个
for(i=;i<q;i++)
{
if(max<y[i])
{
max=y[i];
}
}
printf("gcd=%ld\n",max); //输出
}
void main()
{
long int a,b;
long int x[],y[];
while()
{
printf("please enter two number between 0 to 255 \n"); //输入俩个数
scanf("%ld%ld",&a,&b);
gcd(a,b);
}
}

简单的看几个答案吧:

是不是很容易呢?

欢迎联系我的qq:2516985331

一起学习~

求a和b的最大公约数的更多相关文章

  1. c 求两个整数的最大公约数和最小公倍数

    //求最大公约数是用辗转相除法,最小公倍数是根据公式 m,n 的 最大公约数* m,n最小公倍数 = m*n 来计算 #include<stdio.h> //将两个整数升序排列 void ...

  2. 求两个整数的最大公约数GCM

    思路分析: (1)求差判定法:  如果两个数相差不大,可以用大数减去小数,所得的差与小数的最大公约数就是原来两个数的最大公约数.例如:求78和60的最大公约数.78-60=18,18和60的最大公约数 ...

  3. K:求取两个数的最大公约数的两个算法

    相关介绍:  最大公因数,也称最大公约数.最大公因子,指两个或多个整数共有约数中最大的一个.a,b的最大公约数记为gcd(a,b).同样的,a,b,c的最大公约数记为gcd(a,b,c),多个整数的最 ...

  4. 算法 - 求两个自然数的最大公约数(C++)

    //************************************************************************************************** ...

  5. 求两个数字的最大公约数-Python实现,三种方法效率比较,包含质数打印质数的方法

    今天面试,遇到面试官询求最大公约数.小学就学过的奥数题,居然忘了!只好回答分解质因数再求解! 回来果断复习下,常用方法辗转相除法和更相减损法,小学奥数都学过,很简单,就不细说了,忘了的话可以百度:ht ...

  6. 求m和n的最大公约数和最小公倍数

    题目:输入两个正整数m和n,求其最大公约数和最小公倍数. 做这道题时,特意去查看了一下什么是最大公约数和最小公倍数. 后来直接去看了求解的思想,相信到企业中不会要求你闭门造车,若已有先例,可以研究之后 ...

  7. java 利用辗除法求两个整数的最大公约数和最小公倍数

    题目:输入两个正整数m和n,求其最大公约数和最小公倍数. 程序分析:利用辗除法. package Studytest; import java.util.Scanner; public class P ...

  8. 【C语言】写一个函数,并调用该函数求两个整数的最大公约数和最小公倍数

    程序分析: 在数学中,两个数的最小公倍数=两个数的乘积/两数的最大公约数. 求两个数的最大公约数,运用辗转相除法:已知两个整数M和N,假定M>N,则求M%N. 如果余数为0,则N即为所求:如果余 ...

  9. C++中求两个正整数的最大公约数和最小公倍数

    最大公约数直接用辗转相除法,最小公倍数就是两个数的乘积除以最大公约数 #include<iostream> using namespace std; int gys(int x,int y ...

随机推荐

  1. Nancy学习

    Nancy学习 一.认识Nancy 今天听讲关于Nancy框架的培训,被Nancy的易用性所吸引.故晚上回来梳理了一下知识. 什么是Nancy呢?如标题所述,Nancy是一个轻量级的独立的框架: Na ...

  2. Keil中使用宏编译来定义DEBUG输出

    使用宏编译来格式化调试信息,是一个不错的方法,即可以在需要的时候打印出信息,还可以格式化我们所需要的输出. #define DEBUG 1 #if (DEBUG == 1) #define DBG(A ...

  3. Delphi的注册表操作

    转帖:Delphi的注册表操作 2009-12-21 11:12:52 分类: Delphi的注册表操作 32位Delphi程序中可利用TRegistry对象来存取注册表文件中的信息.     一.创 ...

  4. Oracle中的Union、Union All、Intersect、Minus

    Oracle中的Union.Union All.Intersect.Minus  众所周知的几个结果集集合操作命令,今天详细地测试了一下,发现一些问题,记录备考. 假设我们有一个表Student,包括 ...

  5. navigator获取参数

    <script type="text/javascript" language="javascript"> document.write(" ...

  6. IOS UI 第十篇: UITABLEVIEW

    uitableView review yesterday’s knowledge :         folding group :   ------------------------------- ...

  7. 测试驱动 ASP.NET MVC 和构建可测试 ASP.NET MVC 应用程序

    [测试驱动 ASP.NET MVC] http://t.cn/8kdi4Wl [构建可测试 ASP.NET MVC 应用程序]http://t.cn/8kdi4Wj

  8. Unity Container

    Unity Container中的几种注册方式与示例 2013-12-08 22:43 by 小白哥哥, 22 阅读, 0 评论, 收藏, 编辑 1.实例注册 最简单的注册方式就是实例注册,Unity ...

  9. fastcgi重启

    重启nginx和php-cgi 的命令 nginx: sudo /etc/init.d/nginx restart 同样也可以有start,stop等参数php-cgi: 先杀死进程sudo kill ...

  10. Class Model of Quick Time Plugin

    Quick Time Plugin 的类图. pdf version: http://pan.baidu.com/s/1o6oFV8Q