感觉根本用不到这个定理,而且有更加简单的方法(应该)
查看原帖
感觉根本用不到这个定理,而且有更加简单的方法(应该)
1380473
ZY_202301005129楼主2024/8/22 15:40

我看题解都是用的那个定理。感觉没必要

其实我们可以发现,在给定的数序列中,也就是n+1,当n+1=5时,首次出现了一个大于中位数的素数。当这个素数大于中位数时,意味着它在整个序列当中并不存在倍数。这说明,从n=4开始,倘若给的k+1是一个素数且刚刚好大于中位数,那么它第一天就可以将消息告诉所有人;如果不是,其它的k+1在第一天也会激活那些大于中位数的素数,所以就是两天。

至于n=2,3,自己枚举就行了。

不过我采用的是miller-rabin算法来判素数,所以没超时。用其它的操作来判素数,可能会超时,综合下来貌似也没简单到哪里去

2024/8/22 15:40
加载中...