作业:数列: 1 2 2 3 3 3 4 4 4 4.....求第n项的值,例如:第4项为3.
*
实现程序:
#include<iostream>
using namespace std;
int n;
int f(int k,int x,int y,int z){//k表示当前来到数列第k项,x表示当前项处于第x周期,y是当前项处于当前周期中的第y项,z表示当前项的值
if(k==
[1] )return z;
if(y==
[2
] )f(k+1,x+1,1,
[3
] );//如果当前周期内项数已填满,则要到下一周期的第一项
else
f(k+1,x,
[4
] ,z);//如果当前周期未满,则来到当前周期中的下一项
}
int main(){
cin>>n;
cout<<f(1,1,1,
[5
] );
return 0;
}
问题1:
问题2:
问题3:
问题4:
问题5: