憋了一天,最终写出来了的求最大公约数的程序(C)
来源:互联网 发布:linux 断点续传 编辑:程序博客网 时间:2024/06/04 08:18
前天晚上遇到一题,编写程序求出最大公因数(最大公约数),本能的我想起来了数学中求最大公因式的方法,可是在程序实践上
明显的出了问题,两个数要一个一个的进行拆解,然后找到相同的,这根本是一条死路,思索一夜醒来,突然迸发灵感,可以
用两个数进行取余运算,如果余数为零则最大公因数为被除数,不为零则余数为最大公约数,恩,就是这个思路,简单的数据还行,但是遇到15和25之后就出现了问题,按上面思路那么公约数为10,可是实际为5,继续思考,可以用15对10进行取余,yes!就是这们办。
但是问题又出现了,两次可以三次呢?我根本无法预知到底要用几次,所以加个循环。ok。
这是一条漫长的过程,我的时间耗费在那个上面了。所以附加我的程序以表:
/**************************************************
* Name: gcd.c
* Purpose: Great comman divisor
* Author: zimo
* Date: 01/23/2010
* ***********************************************/
#include<stdio.h>
int main(void)
{
int divisor, dividend, result;
printf("Enter two integers:");
scanf("%d, %d", &divisor, ÷nd);
if(divisor == 0)
{
printf("Greatest common divisor: %d /n",dividend);
}
else if(dividend == 0)
{
printf("Geratest common divisor: %d /n", divisor);
}
else if(divisor >= dividend)
{
while(divisor % dividend != 0)
{
result = divisor % dividend;
divisor = dividend;
dividend = result;
}
printf("Greatest common divisor: %d /n",dividend);
}
else
{
while(dividend % divisor != 0)
{
result = dividend % divisor;
dividend = divisor;
divisor = result;
}
printf("Greatest common divisor: %d /n", divisor);
}
return 0;
}
- 憋了一天,最终写出来了的求最大公约数的程序(C)
- 终于写出一个MFC的程序了
- 今天终于将qt-opengl 的一个简单的程序写出来了,
- Hashtable的用法(初学Java时的困扰,闲了就写出来了)
- C++:函数求数根(总算写出来了。。。。)
- 求了一天的割点
- 晕了,C#莫名其妙的写出来一个奇怪代码。。。。。。
- “开始”→“运行”找了几个好玩的写出来
- 计算最高库存(花了一天多才写出来算法)
- 使用c语言完成了一个求素数的程序
- 程序是写出来的
- 谁能把这个程序的输出写出来,他对宏的理解就不是很差了!
- 最好是用C语言可以写出来的 代码不用给了 说出意思就行 日历(万年历)算法
- 编写C语言程序求两个数的最大公约数
- 我自己都不知道怎么写出来的了 太可怕了 js
- 完美的一天了
- 读韩磊的“这一天终于来了有感”有感
- C语言 求最大公约数的三种方法,利用最大公约数求最小公倍数,通过分解质因数法来验证
- Delphi中ADO异步执行方式
- Firefox - 翻译 - 附加组件 - 扩展 - Firebug - 更新 - 1.4.5
- 求一串数字中的最大数C程序
- 今天决定要开博啦
- [每天读一点英文:那些给我勇气的句子]The God in Youth: Michael Jordan
- 憋了一天,最终写出来了的求最大公约数的程序(C)
- 在线客服系统:struts2异常一Unable to load configuration
- Ping of Death
- Firefox - 翻译 - 附加组件 - 扩展 - Firesizer - 更新 - 1.0
- 观生态学软件-fragstats的使用演示(求助)
- 临时表与正式表之间的复制
- windows下使用gcc调用python的问题
- pro/e
- 时间转换问题