C语言,用递归函数求最大公约数函数

本帖子已过去太久远了,不再提供回复功能。3497人阅读
#include&stdio.h&
int fun(int n)
if(n==0||n==1)
n=n*fun(n-1);
int main()
printf("请输入一个数字:\n");
scanf("%d",&i);
printf("它的阶乘为: %d",j);
测试结果:
相比于传统的利用循环计算阶乘:
#include&stdio.h&
int main()
int i=1,n;
int sum=1;
printf("输入一个正的数字:\n");
scanf("%d",&n);
for(i=1;i&=n;i++)
sum=sum*i;
printf("它的阶乘为:%d",sum);
我们发现调用函数递归计算的运算时间要比循环计算阶乘的时间长。
&&相关文章推荐
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:160982次
积分:4550
积分:4550
排名:第6455名
原创:168篇
转载:49篇
评论:45条
(1)(1)(1)(2)(3)(2)(5)(8)(8)(38)(26)(24)(26)(6)(11)(6)(12)(1)(9)(13)(6)(9)program(256)
问题及代码:
*Copyright (c)2014,烟台大学计算机与控制工程学院
*All rights reserved.
*文件名称:用递归函数求出两个数的最大公约数.cpp
者:白云飞
*完成日期:日
*版 本 号:v1.0
*问题描述:用递归函数求出两个数的最大公约数。
*程序输入:两个正整数
*程序输出:两个数的最大公约数
#include&iostream&
int gcd(int a,int b);//声明自定义函数
int main()//主函数
int a,b;//声明变量
cout&&&请输入两个数:&&&
cin&&a&&b;
cout&&&最大公约数为&&&gcd(a,b)&&//调用自定义函数并求出函数值
int gcd(int a,int b)//自定义函数
return (a%b!=0?(gcd(b,a%b)):b);
运行结果:
学习心得:
用递归的方法求两个数的最大公约数,要点在于自定义函数中递归方法的运用,这种写法很简洁,所以借鉴了下来,以供参考。
&&相关文章推荐
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:79089次
积分:3375
积分:3375
排名:第9942名
原创:261篇
评论:75条
(1)(17)(44)(36)(29)(2)(11)(28)(69)(24)c语言 :用递归算法求整数m和n的最大公约数。为什么说有错误?_百度知道
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。
c语言 :用递归算法求整数m和n的最大公约数。为什么说有错误?
#include&stdio.h&
int gcd(int m,int n)
if(n==0)g=m;
else g=gcd(n,m%n);
void main()
scanf(&%d,%d&,&m,&n);
printf(&gcd=%d&,gcd(m,n));
--------------------Configuration: 变化 - Win32 Debug----...
我有更好的答案
printf(&gcd=%d&
scanf(&quot,n,int n){
if(0 == g)
return gcd(n, g);
}}int main(){int gcd(int m递归的时候逻辑有点混乱,你看这样写是不是更好#include&stdio.h&%d,%d&
采纳率:26%
}void main(){int m,n;scanf(&%d,m%n);int gcd(int m,int n){if(n==0)g=m;else g=gcd(n;/&#47,%d&中间是逗号printf(&,&m,&n);gcd=%d&quot#include&stdio.h&gt
#include&stdio.h&int gcd(int m,int n){if(n==0)g=m;else g=gcd(n,m%n);}void main(){int m,n;scanf(&%d,%d&,&m,&n);//中间的逗号你用的中文字符,所以不能识别printf(&gcd=%d&,gcd(m,n));}
如果没看错scanf(&%d,%d&,&m,&n);这句话&m前面的那个逗号写成中文的了
scanf那段两个%d中间逗号好像不要的吧
其他2条回答
为您推荐:
其他类似问题
最大公约数的相关知识
等待您来回答}

我要回帖

更多关于 递归求最大公约数 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信