试题解析-第二十四届全国青少年信息学奥林匹克联赛初赛

问题求解第二题

解析:

答案为544

(1)一位数:(0到9)

就一个8

(2)二位数:(10到99)

十位是8的共有10个分别是80,81,82,83,84,85,86,87,88,89;

十位为其他的值(0除外)共有8个分别是18,28,38,48,58,68,78,98;

10到99中共有18个包含数字8的数;

0到99中共有19个包含数字8的数;

(3)三位数:(100到999)

百位是8的共有100个

百位为其他的值(0除外),共有19×8个包含数字8的数

0到999中共有100+19×8+19=271个包含数字8的数;

因此0到2000中共有271×2=542个包含数字8的数;再加上2008和2018,一共有544个。

阅读程序

解析:

答案为 RuanHuoMianTai

送分题,就是把输入的字符串中大写字母转换其相应的下一个大写字母(注意上述代码中如果有大写的Z会出问题)

解析:

答案为4

i从0到14依次枚举,找i*i对15取余数为1的个数

解析:

答案为8

暴力手算吧(我没找到好的办法)

解析:

答案为6

编号 0 1 2 3 4 5 6 7 8 9

值 7 1 4 3 2 5 9 8 0 6

其实就是找置换,如下图,0-->7->8-->0,1-->1,2-->4-->2,3-->3,5-->5,6-->9-->6 共6个

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20181017G0NAMW00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券