TA的每日心情 | 慵懒 2016-4-21 12:07 |
---|
签到天数: 3 天 连续签到: 1 天 [LV.2]偶尔看看I 累计签到:3 天 连续签到:1 天
|
马上加入,结交更多好友,共享更多资料,让你轻松玩转电力研学社区!
您需要 登录 才可以下载或查看,没有账号?立即加入
×
素数定义:质数又称素数。指在一个大于1的自然数中,除了1和此整数自身外,没法被其他自然数整除的数。换句话说,只有两个正因数(1和自己)的自然数即为素数。比1大但不是素数的数称为合数。1和0既非素数也非合数。素数在数论中有着很重要的地位。
. j# x) c# l, Z" g7 K) X0 H* s
4 C% Q" r. t r素数是算法中经常提到的一种数的类型,求一个正整数的所有素数因子也是很多算法中经常用到的,今天在做一道算法题时也遇到了素数的求解,故在此记录一下,以备后用!5 I, [6 T, f8 A
! Y* w) i; p& B# e9 O0 {
#include <iostream>1 Y4 f( \# ]3 p" ^; P, w3 ~4 j
using
1 k9 b8 D5 Y4 c& ^8 u5 F* unamespace std;
! z3 C7 j4 }, Y
2 T. n+ T. o6 `8 m/ bvoid PrimaryCal(int num)0 y; o) c+ B) T0 G
{
$ R# c/ E) ?6 j; `' R) G% K3 m/ ` for(int i=2;i*i<=num;i++)% I9 F/ m) U% X" K
{, X$ I, |1 X- O$ B6 e
while(num%i==0)$ t8 n I# ?7 T; P
{
, S; m y3 y7 o: n, J: y cout<<i<<"- U' Y& N, o/ n# A/ N6 B7 i: A7 ?( U
";
# ^, }% x& K9 l3 \& ? num/=i;5 ~5 ]$ _' A. h9 {/ h% G! X
}
( |% U' G( r: O3 _: Y }: y V1 K% \, y1 u h, ?* \+ t
if(num!=1)
; M+ o. {2 f. O7 e {) H% b5 v' Q0 h% c. ]2 [) E
cout<<num;# E; E. A( e8 W! Q9 i
}
4 T N/ P) c- N" E3 ~}3 w' A8 s" m: B( D* t
! _& Y$ e% O N; t+ ~) Z8 ]9 a/ nint main(void)9 S) r p* R4 Z1 i$ h+ | R
{2 K8 C* d' q5 c3 G
for(int i=10;i<=100;i++)
5 W$ o2 G4 ^4 v; K/ i9 |& C! R {" U! H0 u C" M. a- d
cout<<i<<" = ";3 k( d' Z+ L9 M- b: o* ]4 J+ U9 G
PrimaryCal(i);& D& e& `4 y2 t, A' f0 N
cout<<endl;
) h& x( u: I6 O2 q8 F }
2 W- d- }" M1 j. a return( z4 V8 V! w; C$ X- t
-1;
5 N2 Q6 B! I# L/ Z: B" F$ P} |
|