11周(函数求最大公约数)

/*

*copyright(c) 2014,烟台大学计算机学院

*All rights reserved。

*文件名称:测试控制符号

*作者:王忠

*完成日期:2014.10.30

*版本号:v1.0

*

*问题描述:使用函数求出两个数的最大公约数

*输入描述:输入两个数

*程序输出:最大公约数

#include <iostream>
using namespace std;
int gcd(int x,int y);
int main()
{
	int a,b,g;
	cin>>a>>b;
	g=gcd(a,b);
	cout<<"最大公约数是: "<<g;
	return 0;
}
int gcd(int x,int y) 
{
     int z;
     while(y!=0)
     {
         z=x%y;
         x=y;
         y=z;
     }
     return x;
}

时间: 2024-10-21 16:01:38

11周(函数求最大公约数)的相关文章

一个好的函数(gcd)求最小公约数

这个函数是我无意中看到的很不错,很给力,我喜欢 是用于求最小公约数的 简单的描述就是,记gcd(a,b)表示非负整数a,b的最大公因数,那么:gcd(a,b)=gcd(b,a%b)或者gcd(a,0)=gcd(0,a)=a 请看代码 int gcd(int a,int b){ if(a==0) return b; if(b==0) return a; return gcd(b,a%b);} 例题 链接 http://acm.hdu.edu.cn/showproblem.php?pid=1108

各种求最大公约数的函数

GCD 求最大公约数函数 方法总结 递归版 int gcd(int x, int y) { if(y==0) return x; return gcd(y, x%y); } 简介递归版 int gcd(int x, int y) { return y>0? gcd(y, x%y) : x; } 非递归版 int gcd(int x, int y) { int tmp; while(y>0) { tmp=x%y; x=y; y=tmp; } return x; } \(algorithm.h\)

20145239 《信息安全系统设计基础》第11周学习总结

20145239 <信息安全系统设计基础>第11周学习总结 教材学习内容总结 8.1 异常 从处理器运行开始到结束,程序计数器假设一个序列的值a0a1......an-1,这个控制转义序列叫做处理器的控制流. 异常,就是控制流中的突变,用来响应处理器状态中的某些变化. 状态的变化称为事件,在任何情况下,当处理器检测到有事件发生时,会通过一张叫做异常表的跳转表,进行一个间接过程调用到专门处理程序--异常处理程序.当异常处理程序完成之后,根据引起引起异常的事件类型,会发生以下三种情况之一: 处理程

辗转相除 求最大公约数!or 最小公倍数

求最大公约数和最小公倍数的经典算法--辗转相除法描述如下: 若要求a,b两数的最大公约数和最小公倍数,令a为a.b中较大数,b为较小数,算法进一步流程: while(b不为0) { temp=a%b: a=b: b=temp } 最后a即为两数的最大公约数,最大公倍数为: a*b/最大公约数 c语言代码: 01.int divisor (int a,int b) /*自定义函数求两数的最大公约数*/ 02.{ 03. int temp; /*定义整型变量*/ 04. if(a<b) /*通过比较

C语言 &#183; 求最大公约数

算法提高 求最大公约数 时间限制:1.0s   内存限制:512.0MB 编写一函数gcd,求两个正整数的最大公约数. 样例输入: 5 15样例输出:5 样例输入: 7 2样例输出:1 作者注释:常用两种方法:递归法,相减法. 递归法代码: 1 #include<stdio.h> 2 //递归求最大公约数 3 int gcd(int m,int n) 4 { 5 return n==0?m:gcd(n,m%n); 6 } 7 int main(){ 8 int m,n; 9 scanf(&qu

20162305 2017-2018-1 《程序设计与数据结构》第11周学习总结

20162305 2017-2018-1 <程序设计与数据结构>第11周学习总结 教材学习内容总结 哈希算法:哈希算法将任意长度的二进制值映射为较短的固定长度的二进制值,这个小的二进制值称为哈希值.哈希值是一段数据唯一且极其紧凑的数值表示形式.如果散列一段明文而且哪怕只更改该段落的一个字母,随后的哈希都将产生不同的值.要找到散列为同一个值的两个不同的输入,在计算上是不可能的,所以数据的哈希值可以检验数据的完整性.一般用于快速查找和加密算法. 哈希函数:哈希函数(英语:Hash Function

化简分式(求最大公约数).c

1 //约分最简分式 2 //先求最大公约数,然后将分子分母同时除以最大公约数 3 4 #include <stdio.h> 5 int main(){ 6 int numerator,denominator,temp,a,b; 7 char c; 8 scanf("%d%c%d",&numerator,&c,&denominator); 9 a=numerator; 10 b=denominator; 11 12 while(b!=0){ 13 t

欧几里得求最大公约数--JAVA递归实现

欧几里得算法求最大公约数算法思想: 求p和q的最大公约数,如果q=0,最大公约数就是p:否则,p除以q余数为r,p和q的最大公约数即q和r的最大公约数. java实现代码: 1 public class Demo0 { 2 public static void main(String[] args) { 3 4 System.out.println(gcd(24,120)); 5 } 6 7 8 public static int gcd(int p,int q){ 9 10 if(q==0)

C编程:求最大公约数,最小公倍数。

#include<stdio.h> int main() { int a,b;//两个数 int x,y;//暂时保存a,b以便后面求最小公倍数p=(a*b)/a int p;//最小公倍数 int temp; while(scanf("%d %d",&a,&b)!=EOF)//ctrl+Z退出循环 { x=a; y=b;//暂时保存a,b的原值到x,y中,因为后面a,b的值要变. while(b!=0) { temp=a%b; a=b; b=temp; }