#SY0103. 吉利号码
吉利号码
吉利号码
2024 信息素养智能算法应用 复赛 C++ · 初中组第 3 题、小学组第 2 题(两组相同)
题目描述
中国人喜欢图吉利,包括吉利数字,例如数字 8 或者数字 6,尤其是连着的数字更加喜欢,比如手机号码,汽车车牌,房间号码等等。请你根据以下规则,编写一个程序,根据规则给一个号码设置相应的价格。
具体规则如下:
- 正常号码是 100 元。
- 含有 6 或 8 任何一个数字,每出现一次加 50 元。例如 4326、6875、9918 都符合加分标准。其中 6875 被加 2 个 50 元(相当于加 100 元);9918 被加 50 元。
- 如果出现升序或者降序的情况(严格升/降序),号码涨价 3 倍。例如 5678、4321 都要贵 3 倍。注意:5567、4331 等有相同元素的号码不算升降序。
- 如果出现三个相同数字的情况,涨 6 倍。例如 4888、6665、7777 都满足。注意:7777 满足这条标准两次,给它涨两个 6 倍(即 36倍)。
- 如果符合 AABB 或者 ABAB 模式的,价格涨一倍(×2)。例如 2255、3939、7777 都符合。注意:7777 同时满足 AABB 与 ABAB 两次,涨 2 个一倍。
请编写程序按照所有规则,求一个号码的最终价格。
输入格式
输入共 1 行,一个四位正整数,就是待计算的号码。
输出格式
输出共 1 行,一个整数,表示这个号码对应的销售价格。
样例输入
(测试数据不包含本样例)
6543
样例输出
450
说明
计算顺序:先在基础 100 元上按规则 2 累加 6/8 的奖励,再依次按规则 3、4、5 做乘法倍率。
- 6543:含一个 6,
100 + 50 = 150;4 位严格降序 ×3 →450。
注意事项
请严格按要求输出,不要多余的打印语句。main 函数需要返回 0。只使用 ANSI C/ANSI C++ 标准,所有依赖的头文件需明确 #include。