NOip 2002 普及组 复赛 级数求和
1.原以为是菜题,手到擒来,提交40,附上40分代码,引以为戒
#include <stdio.h>double s(int n){ int i; double ans=0; for(i=1;i<=n;i++) ans+=1.0/i; return ans;}int main(){ int k; int i; scanf("%d",&k); i=1; while(1){ if(s(i)>k) break; i++; } PRintf("%d/n",i); return 0;}
2.看过他人代码后,发现,在s函数这块太耗时,规范的反作用。
3.立马提交AC。
附上AC代码,编译环境Dev-C++4.9.9.2
#include <stdio.h>int main(){ int k; int i; double ans; scanf("%d",&k); ans=1; i=1; while(1){ if(ans>k) break; i++; ans+=1.0/i; } printf("%d/n",i); return 0;}
新闻热点
疑难解答