编程题
古典问题(兔子生崽):有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?(输出前40个月即可)
#include<stdio.h>
int main() { int n1 = 2, n2 = 2, i; //规律:后一项等于前两项和(n>=3) for (i = 1; i <= 20; i++) { printf("%d\t%d\t", n1, n2);//每次输出两个月的 if (i % 6 == 0) printf("\n");//一年一换行 n1 = n1 + n2; n2 = n1 + n2; }
return 0; }
#include<iostream>
using namespace std;
void shine(long prior,long next)
{
cout.width(16);
cout<<prior;
cout<<next;
static int depth=1; //递归的深度,也是输出的次数
if(depth==20) //每次输出两个数 20次就会输出40个数
depth=0;
return;
}
if(depth%2==0) //每两次进行一次换行
cout<<endl;
depth++;
shine(prior+next,next+prior+next);
int main()
shine(1,1);
return 0;
程序分析:兔子的规律为数列1,1,...
用户登录可进行刷题及查看答案
程序分析:兔子的规律为数列1,1,2,3,5,8,13,21....,即下个月是上两个月之和(从第三个月开始)。
#include<stdio.h> int main() { int f1=1,f2=1,i; for(i=1;i<=20;i++) { printf("%12d%12d",f1,f2); if(i%2==0) printf("\n"); f1=f1+f2; f2=f1+f2; } return 0; }
登录后提交答案