OJ1050: 阶乘的累加和(C语言实现多重循环和递推方法)
生活随笔
收集整理的這篇文章主要介紹了
OJ1050: 阶乘的累加和(C语言实现多重循环和递推方法)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
題目描述
求1! + 2! + ……n!
輸入
輸入一個整數n,你可以假定n不大于10。
輸出
輸出一個整數,即階乘累加的結果,單獨占一行。
樣例輸入 Copy
4
樣例輸出 Copy
33
方法一:一次循環遞推:
#include<stdio.h>int main() {int n,i,j;double add=1.0,sum=0.0;scanf("%d",&n);for(i=1;i<=n;i++){add*=i;//由前一項遞推下一項的階乘sum+=add;}printf("%.0lf",sum);return 0; }方法二:兩重循環(不用遞推,借助 i++ 分別算出 i 的階乘):
#include<stdio.h>int main() {int n,i,j;double add=1.0,sum=0.0;scanf("%d",&n);for(i=1;i<=n;i++){j=1;add=1.0;//第二個for循環以后要重新定義變量for(j=1;j<=i;j++){add*=j;}sum+=add;}printf("%.0lf",sum);return 0; }總結
以上是生活随笔為你收集整理的OJ1050: 阶乘的累加和(C语言实现多重循环和递推方法)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 经纬度绘图_用编程赋能工作系列——百度V
- 下一篇: ZZULIOJ 1128: 课程平均分