题目:有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前20项之和。
程序分析:请抓住分子与分母的变化规律。
程序源代码:
#include <stdio.h>
int main()
{
int i,t;
float sum=0;
float a=2,b=1;
for(i=1;i<=20;i++)
{
sum=sum+a/b;
t=a;
a=a+b;
b=t;
}
printf("%9.6f\n",sum);
}
题目:求 1 + 2! + 3! + ... + 20! 的和。
程序分析:此程序只是把累加变成了累乘。
#include <stdio.h>
// 计算阶乘的函数
unsigned long long factorial(int n) {
unsigned long long result = 1;
for(int i = 1; i <= n; i++) {
result *= i;
}
return result;
}
int main() {
unsigned long long sum = 0;
// 计算1 + 2! + 3! + ... + 20!
for(int i = 1; i <= 20; i++) {
sum += factorial(i);
}
// 输出结果
printf("1 + 2! + 3! + ... + 20!的和是: %llu\n", sum);
return 0;
}