解题思路:关键在于设法求出第二站到底上了多少人





注意事项:记得在恰当的时候要存值和保留某些变量原有的值





参考代码:

#include<stdio.h>
int main()
{
   	int a,n,m,x,y;
   	int all,up,down,up0,up00;
	scanf("%d%d%d%d",&a,&n,&m,&x);
	int i,j,flg=0;
	all=a;
	up00=a;
	if(x==1||x==2)
	{
		printf("%d",a);
		flg=1;
	}
	if(flg==0)
	{
		for(y=1;y<m;y++)
		{
			up0=y;
			for(i=3;i<n;i++)
			{	
			    up=up0+up00;
				down=up0;				
				all+=up-down;
				up00=up0;
				up0=up;
			}
			if(all==m)
			break;
			all=a;
			up00=a;
		}
		up0=y;
		up00=a;
		all=a;
		for(i=3;i<n;i++)
		{
		    up=up0+up00;
			down=up0;
			all+=up-down;
			if(i==x)
			{
				printf("%d",all);
				break;
			}
			up00=up0;
			up0=up;
		}
	}
	return 0;
}


点赞(2)
 

0.0分

0 人评分

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

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

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

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

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

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

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

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

评论列表 共有 2 条评论

大一肥宅 4年前 回复TA
第17行为什么y要小于m,y不是<=a就行了吗?
emmmm 6年前 回复TA
//all每站车上人数
//up每站上车人数
//down每站下车人数
//up0上一站上车人数
//up00上一站的上一站上车人数

//设第二站上车人数为y,范围估计,反正不可能大于最后下车人数,因为实际上车上的人数一直在增加