算法竞赛入门经典第三章3-12 Floating-Point Numbers UVA - 11809
2018-01-04 15:01
459 查看
习题3-12
为避免误差,用打表法做,直接求可能会有一些误差导致wa
https://vjudge.net/problem/UVA-11809
为避免误差,用打表法做,直接求可能会有一些误差导致wa
https://vjudge.net/problem/UVA-11809
#include<iostream> #include<string> #include<cmath> using namespace std; double X[15][40]; long long int Z[15][40]; int main() { string s; int E, M; for (M = 0; M <= 9; ++M) for (E = 1; E <= 30; ++E) { double k = log10(2)*(pow(2, E) - 1) + log10(1 - pow(2, -M - 1)); Z[M][E] = k; X[M][E] = pow(10, k - Z[M][E]); } double A; int B; while (cin>>s && s!="0e0") { s[s.find('e')] = ' '; sscanf(s.c_str(), "%lf %d", &A, &B); bool flag = false; for (M = 0; M <= 9; ++M) { for (E = 1; E <= 30; ++E) if (fabs(X[M][E] - A) < 1e-5 && B==Z[M][E]) { flag = true; cout << M << ' ' << E << endl; } if (flag) break; } } }
相关文章推荐
- 算法竞赛入门经典(紫书)第三章——Floating-Point Numbers UVA-11809
- 【习题 3-12 UVA - 11809】Floating-Point Numbers
- 习题3-12 浮点数(Floating-Point Numbers, UVa11809)
- 习题3-12 浮点数(Floating-Point Numbers, UVa11809)
- UVA 11809 Floating-Point Numbers
- UVA 11809 - Floating-Point Numbers【浮点数】
- UVa 11809:Floating-Point Numbers
- UVa11809-Floating-Point Numbers
- UVa-11809 - Floating-Point Numbers
- UVa 11809 Floating-Point Numbers
- UVa-11809 - Floating-Point Numbers
- UVa 11809 Floating-Point Numbers
- UVA - 11809 Floating-Point Numbers
- UVA 11809 Floating-point numbers
- UVa 11809 - Floating-Point Numbers
- UVA - 11809 Floating-Point Numbers
- UVA 11809 - Floating-Point Numbers
- UVa 11809 Floating-Point Numbers(浮点数)
- UVa11809 - Floating-Point Numbers
- uva - 11809 - Floating-Point Numbers