NOIP2002普及组第一题【级数求和】题解 (普及山东tyd)
2018-02-07 14:18
483 查看
一道水题,我就不想多说什么了。
//题目洛谷链接
https://www.luogu.org/problemnew/show/P1035
//题目Openjudge链接 http://noi.openjudge.cn/ch0105/27/
题目描述
已知:Sn= 1+1/2+1/3+…+1/n。显然对于任意一个整数K,当n足够大的时候,Sn大于K。
现给出一个整数K(1<=k<=15),要求计算出一个最小的n;使得Sn>K。
输入输出格式
输入格式:
一个正整数K。
输出格式:
一个正整数N。
输入输出样例
输入样例#1:1 输出样例#1:2
//题目洛谷链接
https://www.luogu.org/problemnew/show/P1035
//题目Openjudge链接 http://noi.openjudge.cn/ch0105/27/
题目描述
已知:Sn= 1+1/2+1/3+…+1/n。显然对于任意一个整数K,当n足够大的时候,Sn大于K。
现给出一个整数K(1<=k<=15),要求计算出一个最小的n;使得Sn>K。
输入输出格式
输入格式:
一个正整数K。
输出格式:
一个正整数N。
输入输出样例
输入样例#1:1 输出样例#1:2
//代码及其讲解
#include<iostream> #include<cstdio> using namespace std; int main() { int k,i=0;//注意i首先要初始化为0,若初始化为1,则其下循环语句要做出相应的改变。 double Sn=0;//累加和存储变量,注意在之后会出现小数,所以应当定义一个浮点类型的变量。 cin>>k; while(Sn<=k)//循环条件。 { i++; Sn+=1*1.0/i;//注意计算机在作除法运算时只保留整数部分,因此应先将被除数或除数乘1.0。 } cout<<i<<endl; return 0; }
总结:noip普及组的题不会很难,但必须扎实扎实再扎实,多关注自己第一次提交的分数,做到尽量一次AC.
该题我本人喜欢运用for循环来解,但毕竟是while循环语句的习题,所以不附代码。
如有疑问请咨询我的qq:2039315696.
相关文章推荐
- NOIP2015第一题【金币】题解(普及山东tyd)
- NOIP2002-普及组复赛-第二题-级数求和
- luogu1035 级数求和(NOIP2002普及组第1题)
- NOIP 2002 普及组 复赛 级数求和
- noip2002 级数求和(模拟)
- [noip2002pj] 级数求和
- wikioi 1007 级数求和 普及组 2002
- NOIP2016普及组复赛第一题的ACC程序加题解pascal
- LUOGU P3954题解(NOIP 2017普及组第一题)
- acmore|acmore.cc1083级数求和1084选数1086过河卒(NOIP2002)
- JZOJ(中山纪中) 2018.01.26【NOIP普及组】模拟赛D组 第一题
- [普及]NOIP 2015 求和
- [NOIP2015普及组]求和
- NOIP 2015 T3 普及组 求和 公式分解+线扫
- 洛谷P2671 NOIP2015普及组 T3 求和
- 2017NOIp 普及组第一题
- 【原创】【XJOI】NOIP普及组赛前冲刺03-第一题-反击的号角(bugle)
- NOIP2016 普及组第四题 魔法阵magic 题解
- NOIP 2002 普及组 复赛 选数
- NOIP 2002普及组 T2