求两个整数的最大公约数及其应用

来源:互联网 发布:java continue label 编辑:程序博客网 时间:2024/06/18 18:16

1.求最大公约数(辗转相除法)

【代码】

int Maxcd(int a,int b){ int divid, divis,r; divid=a>b?a:b;   //较大的数为被除数 divis=a<b?a:b;    //较小的数为除数 if(divid%divis==0) {     return divis; } while(divid%divis!=0) {  r=divid%divis;  divid=divis;  divis=r; } return divis;} 

2.最大公约数的应用:求最小公倍数

这里写图片描述
【代码】

#include <iostream>using namespace std;#include <stdio.h>int Maxcd(int a,int b){ int divid, divis,r; divid=a>b?a:b;   //较大的数为被除数 divis=a<b?a:b;    //较小的数为除数 if(divid%divis==0) {     return divis; } while(divid%divis!=0) {  r=divid%divis;  divid=divis;  divis=r; } return divis;} int main(){ int a,b,mc; while(cin>>a>>b) {    mc=Maxcd(a,b);   cout<<"这两个整数的最大公约数为:"<<mc<<endl;   cout<<"这两个整数的最小公倍数为:"<<(a*b)/mc<<endl; } return 0;}
0 0