级数求和(来自洛谷入门级题目)
题目内容:
输入格式
一个正整数 k。
输出格式
一个正整数 n。
输入输出样例
输入 输出
1 2
个人解析如下:
作为一名初学(学了几个小时那样的入门新手)者,这道题我用的是最普通的方法,每个人都能懂。具体如下:
#include<stdio.h>
int main()
{
int i,j,n,k;//i,j,n,k.前两个不一定用到但为了后面可能的循环准备,看情况。
double Sn,s;//注意本题必要的双精度浮点数,因为分数需要精确化简才可以比较大小。
scanf("%d",&k);
n=0;//起始点可以为零也可以1就看个人选择,若是1那么后面的循环也要改。
Sn=0;//赋值时只要前面的变量定义好,不用刻意写成0.0 。
while(Sn<=k)
{
n=n+1;//顺次加一 .
s=1.0/n;//注意除法时一定注意若被除数应化为与定义变量相符的格式。
Sn+=s;//这里是Sn自身加和。
}
printf("%d\n",n);//注意n一定是整数输出 。
return 0;
}
谢谢大家。如有错误以及冒犯,我恳请指正。