题目:计算1/(2^n)的值的前4为有效数字以及位数。
分析:数论,大整数。直接用数组模拟就可以。
说明:打表计算。查询输出。
#include <iostream> #include <cstdlib> #include <cstdio> #include <cmath> using namespace std; double val[1000005]; int bit[1000005]; int main() { val[0] = 1;bit[0] = 0; for (int i = 1 ; i < 1000001 ; ++ i) { val[i] = val[i-1]/2; bit[i] = bit[i-1]; if (val[i] < 1) { val[i] *= 10; bit[i] --; } } int n; while (~scanf("%d",&n)) printf("2^-%d = %.3lfe%d ",n,val[n],bit[n]); return 0; }