#szsc4b. 小杨的幸运数

    ID: 9376 传统题 30000ms 512MiB 尝试: 0 已通过: 0 上传者: 标签>函数综合应用字符串处理复杂的逻辑判断编程题复杂的逻辑判断·三星函数·三星字符串处理·三星综合应用·一星scratch四级

小杨的幸运数

小杨在数学兴趣小组里认识了一种有趣的数,他把它叫作“幸运数”。一个正整数如果同时满足下面两个条件,就是幸运数:

(1)它正着读和倒着读完全一样,例如 8、44、121、1331;

(2)它各个数位上的数字之和是偶数,例如 121 的数位之和 1+2+1=4 是偶数。

所以 22、121、1331 都是幸运数;而 7(数位之和 7 是奇数)、131(数位之和 1+3+1=5 是奇数)、123(正着读和倒着读不一样)都不是幸运数。

请编写程序帮小杨数一数:从整数 L 到整数 R(包括 L 和 R)之间一共有多少个幸运数,其中最大的幸运数又是多少?

样例舞台效果如下图:

小杨的幸运数舞台效果

输入描述

新建变量“L”,表示区间的左端点。

新建变量“R”,表示区间的右端点。

数据范围:1≤L≤R≤2000。

输出描述

新建变量“个数”,表示从 L 到 R 之间(包括 L 和 R)幸运数的个数。

新建变量“最大值”,表示这些幸运数中最大的那一个;如果区间里一个幸运数也没有,“最大值”记为 0。

编程提示

  1. 用一层循环从 L 数到 R,把每个数依次检查一遍。判断“正着读和倒着读一样”可以借助字符串:第 1 个字符与最后 1 个字符、第 2 个与倒数第 2 个……都相同即可。
  2. 逐个取字符的同时把数字累加起来,就得到数位之和。两个条件都成立,才算幸运数。
  3. 遇到幸运数就把“个数”增加 1,并把它记进“最大值”。因为是从小到大枚举的,最后记下的那个就是最大的幸运数。
  4. 第二组样例里 494 正着读和倒着读一样,但数位之和 4+9+4=17 是奇数,并不是幸运数,所以最大值是 484。
  5. 可以把“判断一个数是不是幸运数”做成一个自制积木反复调用,程序会更清楚;不用自制积木同样得分。
  6. 变量名的拼写要和题目完全一致。输入变量由系统在运行时给出,不要使用【询问并等待】积木,也不要在程序中修改“L”和“R”。

输入样例

L = 1

R = 100

输出样例

个数 = 13

最大值 = 99

输入样例

L = 100

R = 500

输出样例

个数 = 20

最大值 = 484