n的初始值为1,让他产生极小偏差。减0.01后得到的值是0.99。
加上0.01的值是1.01。以后每次得到的值都是自己乘自己。
那么15次后是多少?
#include<iostream>
using namespace std;
老生常谈,先导入头文件。
int main()
{
int n,i;
double n1,n2;
n=1;
n1=n-0.01;
n2=n+0.01;
cout<<" "<<n1;
cout<<" "<<n2<<endl;
i=1;
while(i<=15)
{
n1*=n1;
n2*=n2;
cout<<i<<" "<<n1<<" "<<n2<<endl;
i++;
}
return 0;
}
运行结果:
0.99 1.01
1 0.9801 1.0201
2 0.960596 1.0406
3 0.922745 1.08286
4 0.851458 1.17258
5 0.72498 1.37494
6 0.525596 1.89046
7 0.276252 3.57385
8 0.076315 12.7724
9 0.00582398 163.134
10 3.39187e-005 26612.6
11 1.15048e-009 7.08229e+008
12 1.3236e-018 5.01588e+017
13 1.75192e-036 2.5159e+035
14 3.06922e-072 6.32977e+070
15 9.42012e-144 4.0066e+141
其中,10 3.39187e-005 26612.6这个数中的e是什么意思呢?
实数,又称浮点数,包括正实数,负实数,实数零,如98.9,-6.3、0.0都是实数其中0.0是整数零。
实数有两种表示方法。
一种是日常表示法。如3.141592653587.....、-0.06等。
一种是科学计数法。如54e+2等。
科学计数法是采用指数形式表示实数(指数初一学了,自己去找)。每个数有由含一位整数的数和指数组成。如:
2900=2.9*1000=2.9e+10^3=2.9e+3。
double为双精度实数,可表示范围为-1.79e308~1.79e308。