有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子.
1、上一个月的兔子(n),在下一个月,保持到下一月(n);即老兔数=上月兔子总数。
2、第3月出生的兔仔,由上上月(第前3月)的兔子所生,且是1对生1对,1:1的比例。及兔仔数=上上月的兔子总数。
3、总数=上月兔子总数+上上月的兔子总数(也即相邻两项之和)
“第3个月起每个月都生一对”(这里容易造成误解的是,第3个月起,这个起始时间点,是指月初还是月末的问题,从这个经典问题的初衷来说,是指的月初)。
因此:“第3个月,即隔2个月(约61天,闰月则忽略并按月来算)就发生”。

“斐波纳契数列”
兔子这道题是意大利的数学家列奥纳多·斐波纳契在1202年出版的惊世之作《算盘书》中提到的一道题。这道看似简单的计算题,其中包含这样一个数列关系:
f(1)=0;
f(2)=1:
f(n)=f(n-1)+f(n-2).
换种方式可以表达为:A1=0A2=1当n≥3时,数列An=A(n-1)+A(n-2)
不难发现,从第三个数起,每个数都是前两数之和。把它延续下去,就得到了一个数列。人们为了纪念斐波纳契这个伟大的发现,就将这个数列称为“斐波纳契数列”,这个数列也是我们知道的最早的无穷数列。
一个C++的问题,求高手帮忙!

看到上面的数据,我想你会很轻松得发现某一月的兔子的数量正好是前2月兔子数量的和,也就是
f[n]=f[n-1]+f[n-2];
那么这个程序中什么意思呢?
最开始f1=f2=1就是第一月和第二月兔子的数量
然后输出f1,f2;
之后对f1=f1+f2;根据公式就可以知道现在的f1是第三月的数量
那么此时f2=f1+f2;f1是第三月的数量f2是第二月的数量,相加就是第四月的数量
同理这样循环,就可以输出之后几个月的数量了
c语言问题
void main(){
int i=0,j;
char c,str[100];
printf("输入字符串str:\n");
while((c=getchar())!='\n')
str[i++]=c;
str[i]='\0';
for(i=0;str[i];i++);
printf("%d",i);
}【摘要】
c语言问题【提问】
你好,请问你有什么问题,看能不能帮到你【回答】
【提问】
【提问】
【提问】
【提问】
【提问】
【提问】
因为输入中有空格,不能使用printf函数的%s的格式输入。【回答】
如果输入不含空格,可以用printf函数。【回答】
可以写一下这个程序吗【提问】
可以【回答】
用scanf的(字符串不能用空格):【回答】
请等一下【回答】
main(){
char s[100];
int n;
【回答】
main(){
char s[100];
int n;
scanf("%s",s);
for(n=0;s[n];n++);
printf("%d",n);
}【回答】
用这个程序,输入字符串时,不能带有空格。它会自动在空格处截断,忽略后面的字符。【回答】
空格也要算一个字符【提问】
嗯,那就要换一个程序。请等一会【回答】
void main(){
int i=0,j;
char c,str[100];
printf("输入字符串str:\n");
while((c=getchar())!='\n')
str[i++]=c;
str[i]='\0';
for(i=0;str[i];i++);
printf("%d",i);
}【回答】
用这一个程序,可以输入空格。而且空格也会算一个字符。【回答】