解题思路:
想多了,本来想用泰勒级数先展开一下......其实直接暴就行,数据量不大
注意事项:
ret += 1.0/i;有一点点坑,不能写成ret += 1/i;否则就是整数除法!
参考代码:
#include <iostream> #include <vector> #include <algorithm> #include <stdio.h> using namespace std; double calc(int n) { double ret = 0; for (int i = 2; i <= n; i++) ret += 1.0/i; return ret; } int main(void) { double x = 0; while(cin >> x) { if (x == 0.00) break; int n = 2; double xx = 0; while ((xx = calc(n)) < x) n += 1; cout << n - 1 << " card(s)" << endl; } return 0; }
0.0分
0 人评分
C语言训练-求PI* (C语言代码)浏览:930 |
母牛的故事 (C语言代码)浏览:1409 |
C语言程序设计教程(第三版)课后习题12.2 (C语言代码)浏览:855 |
C语言程序设计教程(第三版)课后习题7.3 (C语言代码)浏览:643 |
【回文数(二)】 (C语言代码)浏览:800 |
求圆的面积 (C语言代码)浏览:1366 |
C语言程序设计教程(第三版)课后习题6.11 (C语言代码)浏览:2098 |
WU-printf基础练习2 (C++代码)浏览:2061 |
【计算两点间的距离】 (C语言代码)浏览:1522 |
Cylinder (C语言描述+详细分析)浏览:3375 |