数列增长
(时间限制:3000MS 内存限制:32768KB)
描述
有一个整数数列,其前三项分别为1、2、3,从第四项开始,每项均为其相邻的前三项之和的1/2。问,该数列从第几项开始,其数值超过某个整数n。 |
输入
输入数据只有一组,在一行上输入正整数n(10<n<10000)。 |
输出
数列不断增长中,某项的值超过n时(即>n)的项数。 |
难度
入门 |
输入示例
5 |
输出示例
7 |
#include <bits/stdc++.h>
using namespace std;
int main(){
double queue[]={0};
queue[1] = 1.0;queue[2] = 2.0;queue[3] = 3.0;
int n;
cin>>n;
for(int i=4;i<1000;i++){
queue[i]=(queue[i-1]+queue[i-2]+queue[i-3])/2.0;
if(queue[i]>n){
cout<<i;
break;
}
}
return 0;
}