解题思路:先将例题的列出来找规律,就一个数列,主要就是通过循环求第二站的上下车人数
注意事项:数组大小和sum为第一站和后面站上的人数和
参考代码:
#include<bits/stdc++.h>
using namespace std;
int main()
{
int a[100],b[100],c[100];//数组a上车人数,b下车人数,c这一占上车总人数
int m,n,l,k,x;
cin>>m>>n>>l>>k;
a[0]=m;
for(x=1;;x++)//x为第二站的上下车人数
{
a[1]=x;//定义第二站人数为x
int sum=m;//sum为最后下车人数,先加上第一站的后面加上上车总人数C[]就行
for(int i=2;i<n-1;i++)
{
a[i]=a[i-1]+a[i-2];//上
b[i]=a[i-1];//下
c[i]=a[i]-b[i];//总
}
for(int j=2;j<n-1;j++)
sum=sum+c[j];//这为到最后一战总人数
if(sum==l)//如果等于 结束循环 求出x 然后就很简单了
break;
}
int sum=m;//sum=第一站的加后面上的总人数
for(int j=2;j<k;j++){
sum=sum+c[j];
}
printf("%d",sum);
return 0;
}
0.0分
2 人评分