2024年下半年软考系统架构师2道计算题

这2道计算题让我印象非常深刻,有方法的,很快能做出来,不知道方法的费时费力还是错的。

1、0-1000的整数中,只包含一个数字5的数总共有多少个?

要能敲代码,我至少有5种方式可以做出来,可惜的是只有笔和纸。

大部分程序猿看到这个题就开始分类汇总:

1位数的,只有1个5;

2位数的,个位是5的有8个(15~95,除开55)

               十位数是5的有10个(50~59)

3位数……

做到这里我已经快晕了,这只是一道1分的选择题,有没有更好的方法呢?

求助了某大佬,1分钟不到做出来了,解法如下:

一共3种情况:**5、*5*、5**

*是0-9,除开5,9个数字

每一种情况是9*9个数字

最后排列组合汇总,只包含1个5的数字个数:9*9*3=243

有人会问005要抛开啊!其实005就相当于数字5,没毛病。

这可比我敲代码for都还快,回去后我也敲代码for了一次,答案也是243。

2、共100人,会篮球的有45人,会乒乓球的55人,会足球的53人,会篮球和乒乓球的25人,会篮球和足球的28人,会乒乓球和足球的32人,3种球都会的有20人,问3种球都不会的有多少人?

画图第一步:正中是3种球都会的人数

第二步,依次补上会2种球的-3种球都会的。比如会篮球和乒乓球的25人,减去3种球都会的20人,交集部分补上5,其余同理:

第三步,会一种球的-3种都会的-减去2种会的=只会这一种球(不会其他2种球)的:

最后一步,总人数-图中所有数字(3种都会的+会2种的+会1种的)=1种都不会的人数

100-(20 + 5+8+12 + 12+18+13) = 100-88=12

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值