TA的每日心情 | 慵懒 2016-4-21 12:07 |
|---|
签到天数: 3 天 连续签到: 1 天 [LV.2]偶尔看看I 累计签到:3 天 连续签到:1 天
|
马上加入,结交更多好友,共享更多资料,让你轻松玩转电力研学社区!
您需要 登录 才可以下载或查看,没有账号?立即加入
×
素数定义:质数又称素数。指在一个大于1的自然数中,除了1和此整数自身外,没法被其他自然数整除的数。换句话说,只有两个正因数(1和自己)的自然数即为素数。比1大但不是素数的数称为合数。1和0既非素数也非合数。素数在数论中有着很重要的地位。4 L- u1 L0 T( {4 e8 Q: ]
6 V# i) M" z2 Q6 F( B0 m; l素数是算法中经常提到的一种数的类型,求一个正整数的所有素数因子也是很多算法中经常用到的,今天在做一道算法题时也遇到了素数的求解,故在此记录一下,以备后用!9 g0 u8 |# F" I. U( ]6 m# ~
. R a0 h& S/ W! R4 i#include <iostream>% F: h X% {8 X* Z# j
using
6 J; F1 U9 V6 P; \ ^* |) _namespace std;
2 \' o; `9 N9 \2 ]2 K6 v; H' c' k9 o# b" B1 U( t
void PrimaryCal(int num)
, r9 Y5 {; ^, n" N: [) K3 n{
, U7 |0 b( }( A. m3 I8 f for(int i=2;i*i<=num;i++)
, l! v* M* b7 L {, H3 {7 |# m1 Q4 {, k( v# J' C/ x1 T
while(num%i==0)7 d5 q# _4 J# H2 `
{
! q% ?: M* G9 Y- j4 b& {4 |1 H' ] cout<<i<<"
% ~* V- x7 G! B1 n# t8 K6 ]5 q";
- s# p3 d1 M- n2 h9 c f num/=i;
1 ?* W( H' e7 R% D }
m/ A' C0 _7 R* ]% X }, y# ?% x1 z( V: A+ }7 }; `% ^9 X
if(num!=1)# ?9 i& a5 \# [5 b
{
- |9 l+ e8 j! @ cout<<num;
0 h2 a( `2 G) H( E) i T) y$ j/ U5 U& u }! r0 w: f% u. Q( i: B+ H
}6 h/ j. Z: k1 K/ t3 { {
- \! z' L9 E5 O: j1 hint main(void)
?3 L5 a2 d: C* J) t+ o) \{9 \ b/ W( u, W' [
for(int i=10;i<=100;i++)
/ A! m. @7 q- _* I' z2 k9 W {. x0 @# i6 ]7 d4 ?0 S8 T( E
cout<<i<<" = ";
, k# \+ Y Y1 r+ r PrimaryCal(i);
; [3 Y! @6 x7 ^6 n cout<<endl;
! ?$ _: }% p3 ~* D% x% i }
' m* M! }+ F$ r return8 ~) ?. U- m% d8 ]8 u6 t% t
-1;# m. r) N7 ]* }$ v% R, H
} |
|