2021秋招笔试题

 1.公交车乘客

一个公交车经过n个站点,乘客从前门上车,从后门下车。现在统计了在第i个站,下车人数a[i],以及上车人数b[i]。问公交车运行时候车上最多有多少乘客

输入

第一行读入一个整数n(1<=n<=100),表示有n个站点

接下来n行,每行两个数值,分别表示在第i个站点下车人数和上车人数

 

样例输入

4

0 3

2 5

4 2

4 0

输出

每组输出车上最多的乘客数目

 

样例输出

6

#include <stdio.h>

int main(){
   int a,m,n,sum,sub;
   scanf("%d",&a);
   sub=0;
   sum=0;
   for (int i =0;i<a;i++)
   {
       scanf("%d%d",&m,&n);
       sub=sub+n-m;          //当前车上人数=上车人数-下车人数
       if(sub>sum){          //最多车上人数
         sum=sub;
       }
   }
   printf("%d",sum);
}

2.分苹果

果园里有堆苹果,N(1<N<9)只熊来分。第一只熊把这堆苹果平均分为N份,多了一个,它把多的一个扔了,拿走了一份。第二只熊把剩下的苹果又平均分成N份,又多了一个,它同样把多的一个扔了,拿走了一份,第三、第四直到第N只熊都是这么做的,问果园里原来最少有多少个苹果?

输入

输入1个整数,表示熊的个数。它的值大于1并且小于9。

 

样例输入

5

输出

为1个数字,表示果园里原来有的苹果个数。

 

样例输出

3121

# 暴力法,设有i(i>n)个苹果,从n+1开始模拟。设当前苹果有c个,n只熊来分,满足分配条件则更新c、n,直到
# 所有熊都分配成功,即n=0,输出i即可;否则i++.

def sharing(n):
    i = n+1
    while True:
        c = i
        b = n
        while b>0 and c%n==1:
            c=c-1-(c-1)//n
            b-=1
        if b>=1:
            i+=1
        else:
            return i
            
print(sharing(5))

待更

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值