【下一篇】【上一篇】
0

欧几里德算法

作者:楼竞  发表于:2006年04月22日 09:44  分类:Program   2,292 次阅读 

开发环境:Windows Server 2003 Standard Edition SP1, Visual C++ .Net 2003

(1)基本的欧几里德算法


//基本的欧几里德算法

#include <iostream>
using namespace std;
int main()
{
	int m, n, r;
	cin>>m; cin>>n;
	do {
		r = m % n;
		if (r == 0) break;
		m = n;
		n = r;
	} while(r);
	cout<<n<<endl;
	system("pause");
	return 0;
}

(2)改进的欧几里德算法,可减少数据的交换赋值


//改进的欧几里德算法,可减少数据的交换赋值

#include <iostream>
using namespace std;
int main()
{
    int m, n, r;
    cin>>m;
    cin>>n;
    do {
        r = m % n;
        if (r == 0)
        {
            cout<<n<<endl;
            break;
        }
        m = n % r;
        if (m == 0)
        {
            cout<<r<<endl;
            break;
        }
        n = r % m;
        if (n == 0)
        {
            cout<<m<<endl;
            break;
        }
    } while(1);
    system("pause");
    return 0;
}

历史上的今天:

  1. 2009:  出院后首次游泳 - 2009年04月22日(0)
  2. 2009:  宝宝居家的幸福生活 - 2009年04月22日(2)

本文固定链接: http://www.loujing.com/blog/c-euclid/ | 楼竞网站

给我留言

快捷键:Ctrl+Enter