|
@@ -93,12 +93,12 @@ test.c:15:11: runtime error: signed integer overflow: 13 * 479001600 cannot be r
|
|
|
|
|
|
需要注意的是,未定义行为属于一种编程错误。那么,只有两种可能:
|
|
|
|
|
|
-* 这题的题面是错的,应该改成“如下程序在 `x86_64-Linux` 平台实现对 $13$
|
|
|
-以内的自然数求阶乘”。那么因为 $13$ 是个常数,答案应该是 $\Theta(1)$。
|
|
|
+* 这题的题面是错的,应该改成“如下程序在 `x86_64-Linux` 平台实现对 $12$
|
|
|
+以内的自然数求阶乘”。那么因为 $12$ 是个常数,答案应该是 $\Theta(1)$。
|
|
|
* 这题的代码是错的。那这显而易见地体现了贵司拙劣的代码水平,还招个 p 人啊。
|
|
|
|
|
|
就算我们不考虑代码错误的问题,未定义行为就是
|
|
|
-“什么都可能发生,也可能什么都不发生”,那么这程序在 $n > 13$
|
|
|
+“什么都可能发生,也可能什么都不发生”,那么这程序在 $n > 12$
|
|
|
时可以跑任意长时间,甚至不会终止,那么就没有选项可以选了。
|
|
|
|
|
|
## 代码优化可能导致出人意料的结果
|