费波拿契(Fibonacci)数和阶乘

来源:互联网 发布:小米平板刷windows 编辑:程序博客网 时间:2024/06/04 17:48
 阶乘实现函数:
double Factorial(short op1){if(op1 < 0){printf_s("Try to compute a negative's Factorail!\n");return -1;}else if( op1 == 0 || op1 == 1)return 1;elsereturn op1 * Factorial(op1 - 1);}int Factorial(short op1,  double* ret){if (op1 < 0){printf_s("Try to compute a negative's Factorail!\n");return -1;}if (op1 == 0 ||op1 == 1)*ret = 1;else{*ret = 1;for (;op1 > 1; op1--){*ret *= op1 * (op1-1);op1--;}}return 0;}
斐波纳契(Fibonacci)函数实现:
int Fibonacci(int op1, double* ret){if (op1 < 0){printf_s("Try to compute a negative's Factorail!\n");return -1;}if (op1 == 0)*ret = 0;else if( op1 ==1 )*ret = 1;else{double temp1 = 0, temp2 = 1;for (int i = 2; i <= op1; i++){if (i == op1)*ret = temp1 + temp2;if(i%2 == 0)temp1 = temp1 + temp2;else temp2 = temp1 + temp2;}}return 0;}double Fibonacci(short op1){if (op1 < 0){printf_s("Try to compute a negative's Factorail!\n");return -1;}if( op1 == 0)return 0;else if(op1 == 1)return 1;elsereturn Fibonacci(op1 - 1) + Fibonacci(op1 - 2);}

原创粉丝点击