如何用递归的方法求1!+2!+......+n!? 使用递归方法,编写一个求解S=1+2+3+…+n的函数

C\u8bed\u8a00\u5982\u4f55\u7528\u9012\u5f52\u7b97\u6cd5\u6c421!+2!+3!+...n!

#include
float fun(int n)
{
if(n==1) return 1;//\u5982\u679cn=1\u5219\u76f4\u63a5\u8fd4\u56de1
return n*fun(n-1);//\u5426\u5219\u8fd4\u56den*fun(n-1),\u4ee5\u6b64\u8ba1\u7b97n\u7684\u9636\u4e58\uff0c\u8fd9\u6761\u8bed\u53e5\u5c31\u662f\u9012\u5f52\u4f53
}
void main()
{
int i;
float sum=0;
for(i=1;i<=n;i++){
sum+=fun(i); //\u5faa\u73af\u8c03\u7528\uff0c\u7528sum\u7d2f\u8ba1
}
printf("sum=%.2f\n",sum);
}

#include "stdio.h"
int fun(int num)
{int sum;
if( num==1) sum=1;
else sum=num+fun(num-1);
return sum;}
void main()
{ int n,s;
printf("n=");
scanf("%d",&n);
s=fun(n);
printf("s=%d\n",s);
}

public class JieCheng {
//阶乘递归
public static int jieChengNew(int y){
int result2=y;
if(y==0||y==1)
return 1;
else{
result2=result2*jieChengNew(y-1);
return result2;
}
}

//求和递归
public static int addNum(int x){
int result=x;
if(x==0||x==1)
return 1;
else{
result=jieChengNew(x)+addNum(x-1);
return result;
}
}

public static void main(String []args){
System.out.println("小于等于1所有阶乘之和为:"+addNum(1));
System.out.println("小于等于2所有阶乘之和为:"+addNum(2));
System.out.println("小于等于3所有阶乘之和为:"+addNum(3));
System.out.println("小于等于5所有阶乘之和为:"+addNum(5));
System.out.println("小于等于10所有阶乘之和为:"+addNum(10));
}
}

我这个是用迭代完成的,你看下吧.
public class Diedai
{
public static void main(String [] args)
{
Diedai d = new Diedai();
//直接调用funAdd()方法即可
int num = d.funAdd(4);
System.out.println(num);
}
//阶乘方法
public int funMul(int num)
{
int count = 1 ;
if(num >= 1)
{
count = num * funMul(num - 1 ) ;
}
return count ;
}
//循环加
public int funAdd(int num)
{
int count = 0 ;
if(num >= 1)
{
count = funMul(num) + funAdd(num - 1) ;
}
return count ;
}
}

public class jiechen{

public static int jc (int x)
{
if (x < 0) {
throw new IllegalArgumentException("x must be>=0");
}
if (x <= 1) {
return 1;
} else
return x * jc (x - 1);
}
public class sum()
{
int sum=0;{
for(i=1;i<=x;i++)
sum=sum+jc(x);
}
public static void main(String args[]) {

System.out.print(sum(2));
}
}

public class Demo{

public static void main(String [] args){
Demo demo = new Demo();
System.out.println(demo.getResult(3));
}

public int jieCheng(int number){
if(number < 1){
return -1;
}
if(number == 1){
return 1;
}else{
return number * jieCheng(number-1);
}
}

public int getResult(int number){

int result = 0;

for(int i = 1; i <= number; i++){
result += jieCheng(i);
}
return result;
}
}

  • 鐢ㄩ掑綊鐨勬柟娉,瀹炵幇濡備笅鍔熻兘,璁緁(n)=n!,璇曠紪绋姹1! 2! 3! 4!
    绛旓細long f(int n){long i,x=1;for(i=2;i<=n;i++)x*=i;return x;} int main(){ int i;for(i = 1; i < 5;i++)printf("%d!=%ld\n",i,f(i));system("pause");}
  • c璇█鐢ㄩ掑綊娉姹1!+2!+3!+4!+5!+6!
    绛旓細鎬濊矾锛氬厛鐢ㄩ掑綊姹傚嚭涓涓暟鐨勯樁涔橈紝鎺ョ潃for寰幆绱姞姹傚拰銆傚弬鑰冧唬鐮侊細include<stdio.h>int fun(int n){if(n==1) return 1;//閫掑綊缁撴潫鏉′欢 return n*fun(n-1);//閫掑綊寮 } int main(){int sum=0,i;for(i=1;i<=6;i++)//for寰幆绱姞姹傚拰 sum+=fun(i);printf("%d\n",sum); retu...
  • Python涓濡備綍浣跨敤閫掑綊绠楁硶1!+2!+3!+4!+5!+6!+7!+8!+9!+10!
    绛旓細if n == 1:return 1 else:return factorial(n) + sum_of_factorial(n-1)result = sum_of_factorial(10)print(result)```鍦ㄨ繖涓唬鐮佷腑锛岄鍏堝畾涔変簡涓涓閫掑綊鍑芥暟factorial(n)锛岀敤浜庤绠梟鐨勯樁涔樸傜劧鍚庡畾涔変簡涓涓掑綊鍑芥暟sum_of_factorial(n)锛岀敤浜璁$畻1!+2!+3!+...+n!鐨勭粨鏋溿傚湪sum_of_f...
  • 濡備綍鐢ㄩ掑綊鐨勬柟娉曟眰1!+2!+...+n!?
    绛旓細//闃朵箻閫掑綊 public static int jieChengNew(int y){ int result2=y;if(y==0||y==1)return 1;else{ result2=result2*jieChengNew(y-1);return result2;} } //姹傚拰閫掑綊 public static int addNum(int x){ int result=x;if(x==0||x==1)return 1;else{ result=jieChengNew(x)+ad...
  • C璇█濡備綍鐢ㄩ掑綊绠楁硶姹1!+2!+3!+...n!
    绛旓細int n){ if(n==1) return 1;//濡傛灉n=1鍒欑洿鎺ヨ繑鍥1 return n*fun(n-1);//鍚﹀垯杩斿洖n*fun(n-1),浠ユ璁$畻n鐨勯樁涔橈紝杩欐潯璇彞灏辨槸閫掑綊浣 } void main(){ int i;float sum=0;for(i=1;i<=n;i++){ sum+=fun(i); //寰幆璋冪敤锛岀敤sum绱 } printf("sum=%.2f\n",sum);} ...
  • java,浠閫掑綊鏂瑰紡璁$畻1!+2!+3!+...+10!鐨勫拰
    绛旓細/** * 璁$畻闃朵箻 * @param i 瑕佽绠楃殑鏁 * @return 闃朵箻缁撴灉 */public static long count(long i) {// 濡傛灉褰撳墠鍊兼槸1, 鍒欒繑鍥1if(i == 1)return 1;// 寰楀埌褰撳墠鏁扮殑闃朵箻 + 褰撳墠鏁扮殑涓嬩釜鏁扮殑闃朵箻return i*count(i-1) + count(i-1);} 甯屾湜鑳藉府鍔╀綘 ...
  • ...鐢ㄧ紪鍐欓掑綊绠楁硶姹1鍒皀鐨勫钩鏂瑰拰 .鐢ㄩ掑綊绠楁硶姹備竴涓暟缁勪腑n涓崟鍏冪殑鍜...
    绛旓細//1鍒皀鍜岀殑閫掑綊鏂规硶 public static int add(int max){ int sum=0;if(max>0){ sum=max+add(max-1);} return sum;} //1鍒皀骞虫柟鍜岀殑閫掑綊鏂规硶 public static int squr(int max){ int sum=0;if(max>0){ sum=max*max+squr(max-1);} return sum;} //鏁扮粍鍏冪礌涔嬪拰 public static ...
  • C璇█鎬庢牱鐢ㄩ掑綊鏂规硶缂栧啓绋嬪簭 姹俿=1!+2!+3!+...10!
    绛旓細鎬濊矾锛氬厛閫氳繃绋嬪簭鑾峰緱闃朵箻鐨勫硷紝涔嬪悗鍐嶅皢闃朵箻鐩稿姞锛屾眰闃朵箻鏃跺拰鐩稿姞鏃堕兘鐢ㄩ掑綊鐨鍐欐硶 棣栧厛鏄眰闃朵箻锛歩nt factorial(int index){ int sum = 0;if (index == 1){ sum = 1;}else{ sum = index * factorial(index-1);} return sum;} 涔嬪悗鍐嶆眰鍜岋細int add_recursion(int maxnum){ int sum =...
  • 浠庨敭鐩樿緭鍏,閲囩敤閫掑綊鏂规硶姹鍑涓涓嬭〃杈惧紡鐨勫:1!+2!+3!+路路路+n...
    绛旓細int i;if(n == 1)return 1;else { i = fun(n-1);return n*i;} }long sum(int n){ int i,j;if(n == 1)return 1;else { i = fun(n);j = sum(n-1);return i+j;} } int main(){ int n;long s;scanf("%d",&n);s = sum(n);printf("%ld\n",s);return 0;...
  • 姹俢璇█澶х瑙g瓟!!鍦ㄧ嚎绛!!鎬!!璋㈣阿浜! 鐢ㄩ掑綊鐨勬柟娉缂栧啓涓涓嚱鏁皊um(i...
    绛旓細include "stdio.h"int sum(int n){if(n>1)return n+sum(n-1);elsereturn 1;}int main(){int n;scanf("%d",&n);printf("%d\n",sum(n));}
  • 扩展阅读:扫一扫题目出答案 ... 1加到100用c语言表示 ... 求解方程计算器 ... 用递归方法求1到n的和 ... 用递归法求1+2+3+ n ... c语言用递归求1到n的和 ... 1加到100算法流程图 ... 递归算法流程图片 ... 用递归方法计算s 1+2+3+ n ...

    本站交流只代表网友个人观点,与本站立场无关
    欢迎反馈与建议,请联系电邮
    2024© 车视网