PTA团队天梯赛║L1-017 到底有多二
PTA 团队天梯赛║L1-017 到底有多二
一、题目要求
一个整数“犯二的程度”定义为该数字中包含 2 的个数与其位数的比值。如果这个数是负数,则程度增加 0.5 倍;如果还是个偶数,则再增加 1 倍。例如数字-13142223336
是个 11 位数,其中有 3 个 2,并且是负数,也是偶数,则它的犯二程度计算为:3/11×1.5×2×100%,约为 81.82%。本题就请你计算一个给定整数到底有多二。
输入格式:
输入第一行给出一个不超过 50 位的整数N
。
输出格式:
在一行中输出N
犯二的程度,保留小数点后两位。
输入样例:
1 | -13142223336 |
输出样例:
1 | 81.82% |
二、解题思路
设置两个倍数标志 fu
和 ou
初始值均为 1 ,用字符串存储输入的整数,先判断第一位是否为 ’-‘ ,若是负数,更新 fu
为 1.5 ,并在计算字符串长度时减一,然后判断该整数是否为偶数,若是,更新 ou
为 2 。然后遍历字符串计数 ’2‘ 的个数,根据题目要求计算得出结果,结果输出保留两位小数。
三、代码
1 |
|
四、反思总结
题目难度不大,但是要注意最后输出两位小数,计算是不能用整型,需要强制转换一下数据类型。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 May.BYT's Blog!
评论