任务是编写一个计算机程序,将 1/3 与自身相加很多次,并将结果与 1/3 乘以 1/3 与自身相加的次数相比较。也可以用 ½ 做同样的事情。程序将执行两次该算术运算,一次使用单精度 (float),一次使用双精度 (double)。这两个都将在一个程序中。确保您使用的计数器类型适用于这些大数字。您的程序将执行这些添加 109(10 亿)次。
#include<iostream>
#include<conio.h>
#include<math.h>
#include <limits>
using namespace std;
typedef std::numeric_limits< double > dbl;
int main()
{
long size=1000000000;
int count=0;
long N=10;
float nAdd=1;
float nMul=1;
cout.precision(dbl::digits10);
cout<<"Iterration #\t\tAdd\t\t\tMul"<<endl;
for(long i=1; i<=size; i++)
{
nAdd+=1.0/3.0;
nMul*=1.0/3.0;
count++;
if(count%N==0 && count!=0)
{
N*=10;
cout<<i<<"\t\t"<<fixed <<nAdd<<"\t\t"<<fixed <<nMul<<endl;
}
if(count==size)
{
cout<<"Difference : "<<fixed <<nAdd<<" - "<<fixed <<nMul<<" = "<<fixed <<nAdd-nMul<<endl;
}
}
getch();
return 0;
}
所以因为我已经这样做了,所以我没有正确理解我必须使用的数字将乘以 1/3 或 1/3 将添加到其中
你能解释一下吗?非常感谢