连续几天做题,感觉把前面的简单题似乎都写完了……后面的题目难度逐渐增加,而且通过做题,明显感觉到自己仍有许多知识漏洞,很多没有掌握的内容。这个时候补充知识储备就显得尤为重要!从图书馆借来的C++的书此时可以充分发挥其作用。
2059 斐波那契数
简述题目:
定义斐波那契数列的第1、2项是1,之后每一项等于前两项的和。
(1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89 ...)
输入一个整数n,输出第n个斐波那契数。保证答案在int范围内。
#include<iostream>
#define N 1000000
using namespace std;
long long int a[N];
int main()
{
int n;
cin>>n;
a[1]=1,a[2]=1; //需定义前两项
for(int i=3;i<=n;i++) a[i]=a[i-1]+a[i-2]; //斐波那契数列,从第三项开始,每一项都等于前两项之和
cout<<a[n]<<endl;
return 0;
}
2103 四舍六入五留双
简述题目:
输入一个实数f,和一个位数d
输出实数f,在保留d位小数下的结果,采用四舍六入五留双的近似。
f至多有30位小数。
0 <= f <= 1
1 <= d <= 8
所谓四舍六入五留双,是指如果恰好是0.5的情况,会把他近似到使得前一位是偶数。
比如近似到整数,0.4为0,0.5为0,0.50001为1,0.6为1,1.5为2,2.5为2。
#include <iostream>
using namespace std;
int main()
{
double f;
int d;
cin>>f>>d;
printf("%.*lf\n",d,f);
return 0;
}