永发信息网

C语言求素数,大概解题思路什么。,。人太笨,怎么想也想不到求素数方法。,。发答案的哥哥姐姐们谢谢了

答案:4  悬赏:60  手机版
解决时间 2021-04-04 06:03
C语言求素数,大概解题思路什么。,。人太笨,怎么想也想不到求素数方法。,。发答案的哥哥姐姐们谢谢了,欧不需要。,。
最佳答案
思路很简单啊,如果这个数小于2,那么就不是素数,否则从这个数分别除以大于2并且小于他本身的数,如果有能被该数整除的数,那么该数就不是素数,否则就是素数。
对他进行优化就是用这个数除以大于2并且小于等于该数开根号的值,如果有能被整除的就不是素数,否则是素数。
全部回答
看你需不需要追求时间效率 是不是需要求超大的素数,int64 的有20位 甚至高精度情况下的素数,百位上千位 可以建立素数表来求 你仔细想想,任意一个整数都能分成几个素数的乘积,只由素数只有自己 所以,对于每个我们需要判断的数,只需要用素数表里的数来除即可 若都不能整除,那此数一定也是素数,那就把它加入素数表内 一直求下去就行,一般来说10000个数的素数表就能判断 int32内的素有数 因为素数表能判断素数的范围是 表内最大那个素数的平方
筛法求素数。 简单介绍一下厄拉多塞筛法。厄拉多塞是一位古希腊数学家,他在寻找素数时,采用了一种与众不同的方法:先将2-N的 各数写在纸上: 在2的上面画一个圆圈,然后划去2的其他倍数;第一个既未画圈又没有被划去的数是3,将它画圈,再划去3的其他倍数;现在既未画圈又没有被划去的第一个数 是5,将它画圈,并划去5的其他倍数……依次类推,一直到所有小于或等于N的各数都画了圈或划去为止。这时,表中画了圈的以及未划去的那些数正好就是小于 N的素数。 这很像一面筛子,把满足条件的数留下来,把不满足条件的数筛掉。由于这种方法是厄拉多塞首先发明的,所以,后人就把这种方法称作厄拉多塞筛法。 在计算机中,筛法可以用给数组单元置零的方法来实现。具体来说就是:首先开一个数组:a[i],i=1,2,3,…,同时,令所有的数组元素都等于下标 值,即a[i]=i,当i不是素数时,令a[i]=0 。当输出结果时,只要判断a[i]是否等于零即可,如果a[i]=0,则令i=i+1,检查下一个a[i]。 筛法是计算机程序设计中常用的算法之一。
素数也叫质数,指大于1的自然数,除了1和其本身,没有其它因数的数。 #include     #include      void mian()           { int m,k,i;           printf("请输入一个大于2的自然数\n");                       scanf("%d",&m);      k=sqrt(m);           for(i=2;i<=k;i++)     if(m%i==0)             break;            if(i>k)             printf("质数\n");      else                 printf("合数\n");      }PS :不懂还可继续问。。。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
朋友开车出行祝福凯旋归来词可以吗
广州周边一日游有好玩的地方吗?
坐地铁3号线去天津人民银行在那个站下
在石家庄井陉盖个5--10亩地的养猪场需要多少
诺亚方舟海里的动物怎么死的
化学反应中产率取决于慢反应吗
小学生美文朗读,适合小学生朗读的散文诗、诗
童子驱蚊陈子之卧帷破而多蚊,目昏而不能见,
四川卫视(咱们穿越吧)第三季出来了
关于坚持的,四个字名言
守护天使纹身代表什么
华为荣耀6手机最近发热,经常自动关机,卡屏
元茴就是茴香吗
每个人心里都有两种声音吗
联想整装台式机,酷睿四代i3双核和AMD a4四核
推荐资讯
如果有人放弃优异的生活,去追求一个或许连温
大件运输用英语怎么说
中国的时间比德国的早还是晚啊
11034米相当于什么?
欧曼汽车180马力是什么发动机
我的林地被征收为公益林了,我并不知道,现在
兄弟情谊 歌词
为何人到43岁女人会如此心累如何调整心态
单选题下列话读法正确的一项是A.以草书/之中
It is generally believed that teaching is
2o15年地摊有什么火爆的跑江湖生意
刘显世的逝世日期
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?