憋了一天,最终写出来了的求最大公约数的程序(C)
前天晚上遇到一题,编写程序求出最大公因数(最大公约数),本能的我想起来了数学中求最大公因式的方法,可是在程序实践上
明显的出了问题,两个数要一个一个的进行拆解,然后找到相同的,这根本是一条死路,思索一夜醒来,突然迸发灵感,可以
用两个数进行取余运算,如果余数为零则最大公因数为被除数,不为零则余数为最大公约数,恩,就是这个思路,简单的数据还行,但是遇到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;
&nbs
相关文档:
C/C++ 日期 时间 time_t与struct tm转换 收藏
本文从介绍基础概念入手,探讨了在C/C++中对日期和时间操作所用到的数据结构和函数,并对计时、时间的获取、时间的计算和显示格式等方面进行了阐述。本文还通过大量的实例向你展示了time.h头文件中声明的各种函数和数据结构的详细使用方法。
关键字:UTC(世界标准时间),C ......
随机生成整数,然后算出正负零
void getrand(int *a, int m)
{
int i;
srand(time(NULL));
for (i=0; i<m; i++)
{
a = rand()-rand();
}
}
int main(int argc, char* argv[])
{
  ......
原文:http://blog.csdn.net/jackyvan/archive/2010/01/15/5193693.aspx
其实VIM也能把编译 调试集成在一起,像是一个IDE一样。
首先现在VIM的源码,因为要集成调试环境的话需要重新编译VIM才行,所以我们不如重新安装一个。
VIM的现在地址:
http://www.vim.org/sources.php
然后下载VIMGDB,这是vim的集成调试环境的 ......
陆其明 译
原文:
http://www.codeproject.com/cpp/complex_declarations.asp
作者:Vikram A Punathambekar
介绍
曾经碰到过让你迷惑不解、类似于int * (* (*fp1) (int) ) [10];这样的变量声明吗?本文将由易到难,一步一步教会你如何理解这种复杂的C/C++声明:我们将从每天都能碰到的 ......