C++算法 - 辗转相除法(求最大公约数)

来源:互联网 发布:跑酷教学软件 编辑:程序博客网 时间:2024/05/07 13:59

问题及代码:

/** Copyright (c) 2014, 烟台大学计算机与控制工程学院* All rights reserved.* 文件名称:.cpp* 作    者:何小乐* 完成日期:2014年 10 月 29 日* 版 本 号:v1.0** 问题描述:求两数的最大公约数* 输入描述:两个整形变量* 程序输出:一个整形变量*/#include <iostream>using namespace std ;int main(){    int  a ,b ,r ;    cout << "请输入需要求最大公约数的两数,两次的输入用空格键隔开。" << endl ;    cin >> a >> b ;    for ( ;b!=0 ;)  //用for循环构造的辗转相除法    {        r = a%b ;        a = b ;        b = r ;    }    cout << "这两个数的最大公约数为:" << a << endl ;    return 0 ;}



运行结果:


知识点总结:
学会了辗转相除法求两数的最大公约数

学习小结:

写完程序,感觉不够刺激,因为我想做一个通用的程序 - 无论输入多少数,都可以求出他们的最大公约数,而不是仅仅求两个。但是仔细一想,发现困难较大,不能浪费太长时间在这,在空余时会努力构思出这么一个程序。

0 0
原创粉丝点击