吻你不厌 发表于 2020-10-10 16:25:24

小白求助

i = 9
while i:
    print(i)
    i = i ** i
为什么这个不能使计算机崩溃呀,为什么计算机只运行了一次就不算了?

冬雪雪冬 发表于 2020-10-10 16:37:29

不是不算了,而是一直在算,只是数据太大了,老也得不到结果。

吻你不厌 发表于 2020-10-10 16:38:23

冬雪雪冬 发表于 2020-10-10 16:37
不是不算了,而是一直在算,只是数据太大了,老也得不到结果。

那么为什么不能使系统崩溃呢

昨非 发表于 2020-10-10 16:40:17

其实已经崩了

昨非 发表于 2020-10-10 16:40:55

吻你不厌 发表于 2020-10-10 16:38
那么为什么不能使系统崩溃呢

从未见过这么奇怪的要求

wp231957 发表于 2020-10-10 16:41:38

不是算一次就拉倒了,而是他会尝试进行下一次计算,估计你等上N久,也许会出现内存崩溃
计算机崩溃那可不是这么容易的,应用层 基本够呛

昨非 发表于 2020-10-10 16:43:38

i = 2
while i:
    print(i)
    i = i ** i
    if i >100000000:
      break

这么说吧,你把i换成2,范围限制在一亿,这样依旧只能输出三个数,就break了
而你所说的没反应,其实是编译器在找下一个数,可能是百亿,千亿,或者是亿亿级别

吻你不厌 发表于 2020-10-10 16:49:30

昨非 发表于 2020-10-10 16:40
从未见过这么奇怪的要求

不是,这是小甲鱼课后作业呀

昨非 发表于 2020-10-10 16:52:41

吻你不厌 发表于 2020-10-10 16:49
不是,这是小甲鱼课后作业呀

你希望你的电脑因为算个这个而崩溃吗
你只需要明白原理,明白它在拼命的算快就够了啊{:10_245:}

吻你不厌 发表于 2020-10-10 16:53:33

昨非 发表于 2020-10-10 16:52
你希望你的电脑因为算个这个而崩溃吗
你只需要明白原理,明白它在拼命的算快就够了啊

好的
页: [1]
查看完整版本: 小白求助