终于找到水黑题啦!嘤~
题意概述
某人要交税,交的税钱是收入n的最大因子($\neq n$,若该数是质数则是1),
但是现在这人为了避税,把钱拆成几份,使交税最少,输出税钱。
INPUT & OUTPUT’s examples
Input’s eg #1
1 | 27 |
Output’s eg #1
1 | 3 |
分析
当窝看到这个题的时候,脑子里立马蹦出来:这tm不就要利用哥德巴赫猜想吗?
顿时出了一身冷汗,但忍住凉凉的心态把题意看完。
突然发现,这玩意确实有点和高端数学沾边(也就沾一点)。
我们来举个栗子:
当$n=8$时,我们可以把它拆成$3$和$5$,而这两个都是质数,所以显然他们之和为$2$.
通过简单的分析,我们可以得出一些规律:
- 当$n$为一个质数时,显然答案为1
- 根据哥德巴赫猜想,如果一个数为偶数,那么一定能够被分为两个质数之和,所以若$n$为偶数,答案为$2$。
- 剩下了不是质数的奇数,因为奇数-偶数=奇数,所以若$n-2$为一个质数,就输出$2$。
- 如果以上条件都不符合,那么这个数一定能够被分成$3+$一个偶数,输出$3$。
代码
1 | /* Headers */ |