#include <stdio.h>
int main(void){
	int a[54]={1,2,3,4},n,i;
	for(i=4;i<54;i++)
		a[i]=a[i-1]+a[i-3];
	scanf("%d",&n);
	while(n!=0){
		printf("%d\n",a[n-1]);
		scanf("%d",&n);
	}
	return 0;
}
点赞(201)
 

0.0分

7 人评分

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

评论列表 共有 26 条评论

天下 6年前 回复TA
nb
saitama 6年前 回复TA
或许你可以一股脑把测试数据都录入,然后找除最大值,把到最大值的情况都给算出来,存起来,然后任意取
saitama 6年前 回复TA
@caicaizii 有多组测试数据
saitama 6年前 回复TA
@霸王别姬 题目有说有多组测试数据,你这个做完一组就就结束了
saitama 6年前 回复TA
这个想法太棒了
霸王别姬 6年前 回复TA
@霸王别姬 /尴尬/还真错了
霸王别姬 6年前 回复TA
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[]) 
{
	int x,n,i,j;
	scanf("%d",&n);
	if(n>4)
	  {
	  	for(i=1;i<=4;i++)
	  	    x+=1;
	  	for(j=5;j<=n;j++)
	  	    x+=(j-3);
	  }
	else if(n>0)
	       x=n;
	printf("%d",x);
	return 0;
}

有病的网站说我的答案错了/无奈/无奈/
大方帝国 6年前 回复TA
很蛋疼,根本没理解
paul 6年前 回复TA
@小小羿 他这是先将每年牛的数量计算出来存到数组里,然后再调取。
moneyC 6年前 回复TA
@caicaizii 不能用变量定义数组长度