问题描述
- 输入两个正整数m和n,求其最大公约数和最小公倍数。
-
输入两个正整数m和n,求其最大公约数和最小公倍数。
解决方案
#include "stdio.h"
#include "conio.h"
main()
{
int a,b,num1,num2,temp;
printf("please input two numbers:
");
scanf("%d,%d",&num1,&num2);
if(num1<num2)
{
temp=num1;
num1=num2;
num2=temp;
}
a=num1;b=num2;
while(b!=0)/*利用辗除法,直到b为0为止*/
{
temp=a%b;
a=b;
b=temp;
}
printf("gongyueshu:%d
",a);
printf("gongbeishu:%d
",num1*num2/a);
getch();
}
解决方案二:
首先是求其最大公约数的代码:
通过辗转相除法:
#include
using namespace std;
int MaxY(int a,int b){
int min,max;
max=a>b?a:b;
min=a
if(max%min==0)
return min;
else
return MaxY(min,max%min);
}
int main(){
i......
答案就在这里:输入两个正整数m和n,求其最大公约数和最小公倍数
解决方案三:
http://blog.csdn.net/xianfajushi/article/details/40684447
时间: 2024-10-21 18:53:07