如果你是RE且没有查出错误

lyhldy MineC++raft 2024-06-13 19:17:46 2024-06-13 19:26:54 8

如果你的报错信息为:Killed: Floating point exception

看不懂?

经查阅资料后,发现这个报错信息是因为

在求余数时其被模数不能为0

即m%n==a中n不能为0

相信大多数人会这样写:

if (n % a == 0 && n % i == 0) {
      printf("%d\n", i);
      return 0;
}
puts("-1");
return 0;
问题就出在这一行:if (n % a == 0 && n % i == 0)

在这一行前插入:

if(a==0) break;

便能解决问题

这样就保证了被模数不为0,且不影响结果

下次记得在求余时被模数不要再写成0了

{{ vote && vote.total.up }}