/*
前 n 项的和
f = 1 + 1/2 + 1/3 + .....
*/
#include<stdio.h>
int main()
{
int n ;
int i ;
double sum = 0.0;
scanf_s("%d", &n);
for (i = 1; i <= n; i++)
{
sum += 1.0/i;
}
printf("f(%d)=%f\n",n ,sum);
return 0;
}代码功能
输入 n:程序从标准输入中读取一个整数
n,表示要计算的项数。计算和:通过一个循环,程序计算从 1 到 n 的倒数的总和。公式为: f(n)=1+12+13+…+1nf(n) = 1 + \frac{1}{2} + \frac{1}{3} + \ldots + \frac{1}{n}f(n)=1+21+31+…+n1
输出结果:最后,程序打印出计算结果。
算法分析
时间复杂度:该算法的时间复杂度为 O(n),因为它需要执行 n 次迭代。
空间复杂度:该算法的空间复杂度为 O(1),因为它只使用了有限的额外空间(即
sum和i)。