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