mtwm.net
当前位置:首页 >> C语言中递推怎么写 >>

C语言中递推怎么写

是用递归做的(是你的要求吧?): #include <stdio.h> int f(int sum) { if(sum==10) //第十天时就剩一个 return 1; else { sum=sum+1; return 2*f(sum)+1; //其他时候都是俩倍加一 } } int main() { printf("%d\n",f(1)); //从第一天开始的 return 0; }

#include<stdio.h>void main(){ int i=1; while(i*i<200) { printf("%d ",i*i); i++; } getchar();}

递推指的是一个函数中一个量的值要有其他的几个变量或函数得到,比如 function()是一个函数,在另一个函数里面要用到它时,如下 int add() {int a; a=function() }这就是递推.而递归指的是同一个函数的反复调用.比如去求一个数n的阶乘时int jiec(n) {int n; int m; m=n*jiec(n-1); return jiec(n-1); }

#include<stdio.h>int js(int n){ if (n == 1) return 1; return js(n-1)*n;}int main(){ int x=4,y=6; printf("4!+6!=%d\n",js(x)+js(y)); return 0;}

我想你要说的是递归和循环(从程序执行角度,递推比较侧重逻辑推理).递归可以看作一个逆向求解的过程,循环则可以看作一个正向求解的过程.unsigned longfac0(int n){ return (n == 0 ? 1 : n * fac0(n-1));}unsigned longfac1(int n){ int i;

递推? 应该是递归吧.部分代码偷懒了,但你应该能看懂吧.其实现在的系统 int 和 long 是一样的,仅仅是概念上的区分了.#include long power(int m, int n){ if (n == 1) { return m; } else if (n > 1) { return m*power(m, n-1); } else { // error. return -1; }

递归:int fun1(int n) { if ( n == 1 || n == 2 ) return 1; return fun1(n - 1) +fun1(n - 2); }迭代:int fun2(int n) { if ( n == 1 || n == 2 ) return 1; int tmpe, f1 = 1, f2 = 1; for (int i = 2; i 追问: 我要的是递推法不是递归法 我还要求旁边有注解说明 追答

#include <stdio.h> #define N 100 int Call(int n) { if(n==1) return 1; else return n+Call(n-1); } int main() { printf("%d\n",Call(N)); return 0; }

#include <stdio.h> int factorial(int n) { if(n==1) return 1; else return n*factorial(n-1); } int main(void) { int m= factorial(4)+factorial(6); printf("m=%d\n",m); }

这个是递归 递推就是用for语句 s=0; for(i=1;i

网站首页 | 网站地图
All rights reserved Powered by www.mtwm.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com