永发信息网

怎样快速地看出一个数是否为质数?(求好方法)

答案:4  悬赏:70  手机版
解决时间 2021-02-03 13:45
  • 提问者网友:低吟詩仙的傷
  • 2021-02-02 14:36
因为我们提优班有一道题:分解质因数(写成质因数为底的幂的连乘积)
1.593
2.1859
3.1287
前两个我分了好久,把1-100的质数都试了,但是还没试出来,所以我想问一下
怎样快速地看出一个数是否为质数?(求好方法)
有丰厚悬赏分!!!!!!!!!!!!!!!!!
最佳答案
  • 五星知识达人网友:詩光轨車
  • 2021-02-02 15:27
末尾是0或5的肯定不是,因为它们是5的倍数,末尾是0.2.4.6.8的肯定也不是,因为,它们是2的倍数,一个数的数字之和是3肯定也不是,因为它们是3的倍数,还有,质数除了2以外其他的都是单数
全部回答
  • 1楼网友:慢性怪人
  • 2021-02-02 18:10
import java.io.*; import java.util.scanner; public class io{ static void prtzhishu(int num){ for(int i=1; i<=num; i++){ if( i % 2 != 0 && i % 3 != 0){ system.out.println(i); } } } public static void main(string[] args){ scanner sc = null; try{ sc = new scanner(system.in); while(true){ system.out.println("请输入一个大于1的数字,输入0程序结束"); int n = sc.nextint(); if(n == 0) break; prtzhishu(n); } }catch(exception e){ e.printstacktrace(); }finally{ if(sc != null){ try{ sc.close(); }catch(exception ioe){} } } } }
  • 2楼网友:忘川信使
  • 2021-02-02 17:17
1 朴素筛法,就是直接试除 2 若a是n的因子,那么n/a也是n的因子,所以如果n有一个大于1的真因子,则必有一个不大于n的1/2次方的因子 3 进一步的,如n是合数,他必有一个素因子不大于n的1/2次方,如要检测一个m以内的数是否为素数需事先建立一个m的1/2次方以内素数表。 4 Miller-Rabbin算法 5 概率算法 6 无条件的素数测试(包含APR算法 Jacobi sum测试 等) 7.n的n次幂除以n,若余数为2,则n为质数
  • 3楼网友:独钓一江月
  • 2021-02-02 16:35
先确认那个数是不是偶数或5的倍数,如果是则是合数。 然后再分别除以3和7,如有余数,则是质数,反之,就是合数。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯