1,先看個位,大質數的個位必須是1,3,7,9;因為質因子有無2和5,可以一眼看出。
2,滿足上條的奇數,再觀察是否有簡單規律,比如101101之類明顯可以看出非自身質因子,可以直接排除。(如果用計算機程式設計,請忽略此條)。
3,大於3的奇數,可以寫成6m±1、6m±3;6m±3是3的整數倍。所以,只有6m±1可能是質數;判斷一個數是否能被3整除,各位之和是3的倍數。心算時,3的倍數計0,3連數計0,3個相同數計0,即輕易可以得出和是3的倍數的數都計0。
4,判斷有無小於20的其他質因數,7,11,13,17,19。個人計算,還是直接除吧。所謂的優秀演算法在計算機有優勢;人算時,心算和筆算都無優勢。
5,判斷有無小於n^0.5的其他質因子,如果不是質數,必然可以寫成(6m±1)(6k±1);開根號,求得n^0.5,取出最大6m±1的m;如果6m±1不是5,7,11,13,17,19的倍數(可輕易看出的),用6m±1去除n,看是否有餘數。比如1389721可以寫成6m+1,[1389721^0.5]=1178=6*196+2。如果是個質數,大約再計算300多次就可以確認是否是質數。筆算大致就是如此。
1,先看個位,大質數的個位必須是1,3,7,9;因為質因子有無2和5,可以一眼看出。
2,滿足上條的奇數,再觀察是否有簡單規律,比如101101之類明顯可以看出非自身質因子,可以直接排除。(如果用計算機程式設計,請忽略此條)。
3,大於3的奇數,可以寫成6m±1、6m±3;6m±3是3的整數倍。所以,只有6m±1可能是質數;判斷一個數是否能被3整除,各位之和是3的倍數。心算時,3的倍數計0,3連數計0,3個相同數計0,即輕易可以得出和是3的倍數的數都計0。
4,判斷有無小於20的其他質因數,7,11,13,17,19。個人計算,還是直接除吧。所謂的優秀演算法在計算機有優勢;人算時,心算和筆算都無優勢。
5,判斷有無小於n^0.5的其他質因子,如果不是質數,必然可以寫成(6m±1)(6k±1);開根號,求得n^0.5,取出最大6m±1的m;如果6m±1不是5,7,11,13,17,19的倍數(可輕易看出的),用6m±1去除n,看是否有餘數。比如1389721可以寫成6m+1,[1389721^0.5]=1178=6*196+2。如果是個質數,大約再計算300多次就可以確認是否是質數。筆算大致就是如此。