C#程序设计 设m、n为正整数,用穷举法求m、n的最大公约数d

来源:百度知道 编辑:UC知道 时间:2024/05/10 07:55:46
很急。。谢谢

一楼的改成从大到小应该会好些,呵呵
int zdgy(int m,int n)
{
int max = m>n ? m/2 : n/2;
for(int i=max; i>1; i--)
{
if(m%i==0 && n%i==0)
return i;
}

return 1; // Not found
}

int zdgy(int m,int n)
{
int ret=1;
int count=m>n?m/2:n/2;
for(int i=1;i<=count;i++)
if(m%i==0&&n%i==0)ret=i;
return ret;
}

#include "stdafx.h"
#include <stdio.h>

int divistor(int a,int b)//求最大公约数
{
int i;
for (i=(a<b? a:b);;i--){
if(a%i==0 && b%i==0){
break;
}
}
return i;
}
int mutiple(int a,int b)//求最小公倍数
{
int i;
for (i=(a>b? a:b);;i++){
if (i%a==0 && i%b==0)
break;
}
return i;
}

void main(){
int a,b,div,mut;
printf("请输入两个整数,用逗号分开:\n");
scanf("%d,%d",&a,&b);
div=divistor(a,b);
mut=mutiple(a,b);