第四周项目1 之求最大公约数和最小公倍数

来源:互联网 发布:网络众筹方案模板 编辑:程序博客网 时间:2024/05/20 14:19
/* *Copyright(c) 2016,烟台大学计算机学院 *All rights reserved. *文件名称:test2.cpp *作    者:刘金石 *完成日期:2016年3月17日 *版本  号:v1.0 *问题描述:分别求两个整数的最大公约数和最小公倍数 *输入描述:输入两个整数。 *输出描述:输出结果。*/#include<iostream>using namespace std;int main(){int lcm(int x,int y);    int gcd(int x,int y);int a,b,f,g,i=0;    cout<<"请输入两个整数:"<<endl;    while(cin>>a>>b){        f=lcm(a,b);        g=gcd(a,b);cout<<"最大公约数是"<<g<<endl;cout<<"最小公倍数是"<<f<<endl;i++;if(i==51)break;}return 0;}int lcm(int x,int y)//求最小公倍数{int t,i;if(x<y){t=x;x=y;y=t;}// 25 15for(i=1;i<=y;i++){if(!((x*i)%y)){return x*i;}}}int gcd(int x,int y)//求最大公约数{int t;if(x<y){t=x;x=y;y=t;}while(y>0){t=x%y;x=y;y=t;}return x;}

运行结果:

(2)如何在上面的程序基础上,增加gcds函数的声明和定义,实现求4个数的最大公约数?

#include<iostream>using namespace std;int gcd(int x,int y);int gcds(int ,int ,int ,int );int main(){    int a,b,c,d,g;    cin>>a>>b>>c>>d;    g=gcds(a,b,c,d);    cout<<"最大公约数是"<<g;;    return 0;}int gcds(int x,int y,int z,int w){    int a,b,c;    a=gcd(x,y);    b=gcd(z,w);    c=gcd(a,b);    return c;}int gcd(int x,int y)//求最大公约数{int t;if(x<y){t=x;x=y;y=t;}while(y>0){t=x%y;x=y;y=t;}return x;}

运行结果:


 

0 0
原创粉丝点击