首页 | 编程语言 | 网站建设 | 游戏天堂 | 冲浪宝典 | 网络安全 | 操作系统 | 软件时空 | 硬件指南 | 病毒相关 | IT 认证
软讯网络 > 编程语言 > C/C++ > 利用欧几里得算法求两个整数的最大公因数
【标  题】:利用欧几里得算法求两个整数的最大公因数
【关键字】:
【来  源】:http://blog.csdn.net/lastminute/archive/2006/11/06/1370237.aspx

利用欧几里得算法求两个整数的最大公因数

// 程 式 名: CommonFactor.c
// 作  者: Steve Wang
// 完成时间: 2006-11-06
// 程式功能: 利用欧几里得算法求两个整数的最大公因数
// 实现描述: 输入两个整数求最大公因数,若有输出其最大公因数,若无则输出信息

#include <stdio.h>

int Factor(int m, int n);

void main()
{
 int m, n, result, temp;
 printf("请输入两个整数: ");
 scanf("%d%d", &m, &n);
 if (m < n) // 保证m > n
 {
  temp = m;
  m = n;
  n = temp;
 }
 result = Factor(m, n);
 if (result != -1) // 判断有无最大公因数
  printf("%d 和 %d 的最大公因子是 %d \n", m, n, result);
 else
  printf("%d 和 %d 没有最大公因子!\n", m, n);
}

// 递归实现欧几里得算法求m,n的最大公因数
int Factor(int m, int n)
{
 int  r; // r为余数
 
 r = m % n;
 if (r == 0)
  return n; // 找到返回
 else
 {
  m = n;
  n = r;
  Factor(m, n);
 }
 return -1;  // 没有最大公因数
}

字节序与字节对齐问题:【上一篇】
SpiderMonkey-让你的C++程序支持JavaScript脚本:【下一篇】
【相关文章】
没有相关文章
【随机文章】
  • 青春痘的防治怎样去除青春痘如何去除青春痘预防青春痘康本有去痘之计
  • TDPO 5.2配置和安装
  • 定义自己的项目图片符号
  • 介绍一种免xml配置的持久层实现快速开发的框架
  • GNU GRUB FAQ 中文版
  • 移动的过程全部纪录在高度压缩的串流视讯档案
  • Photoshop打造梦幻水晶效果
  • 原创]我是如何破解的
  • 小议局部类(1)
  • ASP常用数据库连接方法和技巧
  • 【相关评论】
    没有相关评论
    【发表评论】
    姓名:
    邮件:
    随机码*
    评论*
          
    |  首 页  |  版权声明  |  联系我们   |  网站地图  |
    CopyRight © 2004-2007 软讯网络 All Rigths Reserved.