最近心好累,行为识别模型明明训练的好好的,收敛也正常,Avg loss也很小,就是测试效果不好(接近没效果)!深度学习之路真是道阻且长啊,求求了~~
题目描述
数列的第一项为n,以后各项为前一项的平方根,求数列的前m项的和。
输入描述:
输入数据有多组,每组占一行,由两个整数n(n < 10000)和m(m < 1000)组成,n和m的含义如前所述。
输出描述:
对于每组输入数据,输出该数列的和,每个测试实例占一行,要求精度保留2位小数。
示例1
输入
81 4
2 2
输出
94.73
3.41
很简单,没啥难度,注意保留两位小数用cout<<setiosflags(ios::fixed)<<setprecision(2)<<sum,以及要引入头文件#include<iomanip>,其他没啥。直接贴代码了。
#include<iostream>
#include<cmath>
#include <iomanip>
using namespace std;
int main(void){
double n=0;
double m=0;
double a[1000];
double sum=0;
cin>>n>>m;
a[0]=n;
sum+=a[0];
a[1]=sqrt(a[0]);
for(int i=1;i<m;i++){
a[i]=sqrt(a[i-1]);
sum+=a[i];
}
cout<<setiosflags(ios::fixed)<<setprecision(2)<<sum;
return 0;
}
扩展一下保留小数和格式化:
#include <iostream>
#include <iomanip>
using namespace std;
int main ()
{
double a=123456.343001;
cout<<"a的值为123456.343001"<<endl<<endl;
cout<<"不做任何操作,默认情况下只显示6六位数据:"<<a<<endl<<endl;
cout<<"指定10位小数且为浮点数表示setiosflags(ios::fixed):"<<setiosflags(ios::fixed)<<setprecision(10)<<a<<endl<<endl;
cout<<"指定为10位小数且为指数形式表示setiosflags(ios::scientific),就是留下有效位:如果指定的有效位超过本来的有效位,其输出就是本身的位数:"<<setiosflags(ios::scientific)<<setprecision(12)<<a<<endl<<endl;
cout<<"指定为10位小数且为指数形式表示setiosflags(ios::scientific),就是留下有效位:setprecision(10)指定留下10位有效位"<<setiosflags(ios::scientific)<<setprecision(10)<<a<<endl<<endl;
cout<<"左对齐:"<<setiosflags(ios::left)<<setprecision(20)<<a<<endl<<endl;
cout<<"右对齐:"<<setiosflags(ios::right)<<setprecision(20)<<a<<endl<<endl;
system("pause");
return 0;
}
当你输出时间格式的时候需要酱紫的输出(01:08:31)作为结果,然而你的输出却是酱紫:1:8:31,What should I do?这时候就需要C++的格式化输出了。
#include "stdlib.h"
#include<iostream>
#include<iomanip>
using namespace std;
int main(){
int a=1;
cout.setf(ios::right);
cout.fill('0');
cout.width(2);
cout<<a<<endl;;
system("pause");
return 0;
}
不四舍五入:
#include<iostream>
#include<iomanip>
#include <math.h>
using namespace std;
int main()
{
double f,c;
cout<<"请输入一个小数:";
cin>>f;
f=floor(f*100.0)/100.0;
cout<<setiosflags(ios::fixed);
cout.precision(2); //输出小数点后两位
cout<<"不四舍五入,保留2为小数:"<<f<<endl;
}