这是 spoj.com ( http://www.spoj.com/problems/PRIC/ ) 上的一个问题。我们必须检查序列的数字是否:ai=( a(i-1)+1234567890 ) mod 2^ 31 是否为素数,第一个数字是 1。下面给出了我的代码(请尽量忽略笨拙。)基于 eratosthenes 的筛子。
问题:我们必须为 i=33,333,333 的序列打印“素数(1)或非(0)”,我的代码对于 i(代码中的 c3)值高达 8000 左右以及之后(例如 c3> 19000) 它开始给出 SIGFPE 错误。现在我用谷歌搜索了这个错误,它与除法/模减 0 有关。但是为什么该代码适用于高达 9000 的 c3 值但不能超过此值?