码迷,mamicode.com
首页 > 其他好文 > 详细

PAT - 基础 - 最大公约数和最小公倍数

时间:2014-08-14 19:57:19      阅读:296      评论:0      收藏:0      [点我收藏+]

标签:style   blog   http   io   strong   2014   div   代码   

题目:

本题要求两个给定正整数的最大公约数和最小公倍数。

输入格式:

输入在一行中给出2个正整数M和N(<=1000)。

输出格式:

在一行中顺序输出M和N的最大公约数和最小公倍数,两数字间以1空格分隔。

输入样例:

511 292

输出样例:

73 2044


两种方法
1、辗转相除法求最大公约数
流程如下:

bubuko.com,布布扣

算法
#include<stdio.h>
#include<stdlib.h>


int main()
{
	int M,N;
	scanf("%d%d",&M,&N);
	
	int ji=M*N;
	int shang=M/N;
	int yushu=M%N;


	while(yushu!=0)   //辗转相除法
	{
		M=N;
		N=yushu;
		yushu=M%N;
	}
	printf("%d %d\n",N,ji/N);
	system("pause");
	return 0;
}

  

2 更相减损法

流程如下:

bubuko.com,布布扣


代码:
#include<stdio.h>
#include<stdlib.h>

int main()
{
	int M=0,N=0;
	int temp=0;
	int k=0;
	scanf("%d%d",&M,&N);
	if(M < N)
	{
		temp = M;
		M = N;
		N = temp;
	}
	
	temp = M *N;  // 更相减损术
	while(M != N)
	{
		k= M-N;
		if(k > N)
		{
			M = k;
		}
		else
		{
			M = N;
			N = k;
		}
	}

	temp = temp / M;

	printf("%d%s%d",M," ", temp);
	system("pause");
}

  

PAT - 基础 - 最大公约数和最小公倍数,布布扣,bubuko.com

PAT - 基础 - 最大公约数和最小公倍数

标签:style   blog   http   io   strong   2014   div   代码   

原文地址:http://www.cnblogs.com/haihai1203/p/3913028.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!