#include <iostream>
#include <math.h>
#include <iomanip>
using namespace std;
int main(void){
int m,n;
while(cin>>m>>n){
double a,sum(0);
a=m;
for(int i=0;i<=n-1;i++)
{ sum=sum+a;
a=sqrt(a);
}
cout<<setiosflags(ios::fixed)<<setprecision(2)<<sum<<endl;
}
return 0;
}
tips:要会输出两位小数
cout<<setiosflags(ios::fixed)<<setprecision(2);//需要头文件#include <iomanip>
然后再输出实数类型变量即可以保留2位小数输出了
setprecision是指设置输出精度,当没有
cout<<setiosflags(ios::fixed)
时,输出格式是数据的有效位数,例如
float a = 123.666; cout<<setprecision(5)<<a;
将输出123.67(注意这里,它会四舍五入)。如果setprecision里的参数小于整数位数,将以指数形式输出,例如
float a = 123.666; cout<<setprecision(2)<<a;
将输出1.2e+002。
setiosflags(ios::fixed)是指以固定的浮点显示,当setiosflags(ios::fixed)和serprecision(n)两个一起用时就表示保留n位小数输出。这里还要注意,每次输出只要设置一次就行了,因为这两个的作用范围是后续对象,而不是仅对后一个对象起作用。