1 条题解
-
0
用python只得了10分的同学看这里
错误分析:
-
在 C++ 代码中,
x / 3
的结果是整数除法,因为x
和3
都是整数。所以x / 3
会是一个整数,忽略小数部分。 -
但在 Python 中,
x / 3
会执行浮点除法,即使x
是整数,结果仍然是一个浮动的浮点数。这意味着a
,b
, 和c
的初始值将是浮点数(除非特别转换)。接下来的除法操作也会维持浮点数类型。
解决方案:
为了和 C++ 行为保持一致,你需要在 Python 中强制执行整数除法,即使用
//
运算符,代替/
运算符。这样做会保证每个步骤都执行整数除法,避免不必要的小数。修改后的代码:
x = int(input()) a = b = c = x // 3 # 使用整数除法 a //= 2 b //= 2 c += a + b a //= 2 c //= 2 b += a + c b //= 2 c //= 2 a += b + c print(a, b, c)
总结:
- 用
//
代替/
来确保执行整数除法。
-
- 1
信息
- ID
- 48
- 时间
- 1000ms
- 内存
- 64MiB
- 难度
- 10
- 标签
- 递交数
- 7452
- 已通过
- 26
- 上传者