题目一
题目描述
有一种兔子,从出生后第3个月起每个月都生一只兔子,小兔子长到第三个月后每个月又生一只兔子。
例子:假设一只兔子第3个月出生,那么它第5个月开始会每个月生一只兔子。 一月的时候有一只兔子,假如兔子都不死,问第n个月的兔子总数为多少?
数据范围:输入满足 1≤n≤31
思路:可查阅斐波那契数列的原理,此月的数量等于前俩个月数量的总和
#include <stdio.h>
int count(int n)
{
if(n==1||n==2)
return 1;
return count(n-1)+count(n-2);
}
int main() {
int n=0;
scanf("%d",&n);
int cou;
if(n>0){
cou=count(n);
}
printf("%d",cou);
return 0;
}
题目二
题目描述
数列的定义如下:数列的第一项为n,以后各项为前一项的平方根,求数列的前m项的和。
输入数据有多组,每组占一行,由两个整数n(n<10000)和m(m<1000)组成,n和m的含义如前所述。
对于每组输入数据,输出该数列的和,每个测试实例占一行,要求精度保留2位小数。
思路:多组输入,可以用scanf(“%d”,&a)!=EOF这个作为while的条件
然后循环sum累加
#include <stdio.h>
#include<math.h>
int main() {
int n, m;
while (scanf("%d %d", &n, &m) != EOF) {
double sum=0.0;
double next=n;
for(int i=0;i<m;i++)
{
sum+=next;
next=sqrt(next);
}
printf("%.2f\n", sum);
}
return 0;
}