若一头小母牛从出生起每四个年头开始每年生一头母牛,按此规律第n个年有多少头母牛。(参考c++程序设计钱能著)
源程序:
(1):暂设20年内
#include<iostream.h>
void main( )
{
Long int a[20][3];
int i,j,n;
a[0][0]=1;
a[0][1]=1;
a[0][2]=1;
for(i=1;i<20;i++)
{
a[i][1]=a[i-1][0]+a[i-1][1]+a[i-1][2];
a[i][0]=a[i][1]-a[i-1][1];
a[i][2]=a[i][1]+a[i-1][2];
}
cin>>n;
if(n%3==0)
j=2;
if(n%3==1)
j=0;
if(n%3==2)
j=1;
i=(n-1-j)/3;
cout<<“第“<<n<<“年母牛数”<<endl;
cout<<a[i][j]<<endl;
}
(2)递归算法
#include<iostream.h>
long int cow(int);
void main( )
{
int n;
long int y;
cout<<”input a integer number”<<endl;
cin>>n;
y=cow(n);
cout<<n<<””<<y<<endl;
}
long int cow (int n)
{
long int f;
if(n<=3)
return 1;
else
return( cow(n-1)+cow(n-3));
}
以上算法仅供参考如有错误请发送到blackstorm@yeah.net Thank you very much!