TA的每日心情 | 慵懒 2016-4-21 12:07 |
---|
签到天数: 3 天 连续签到: 1 天 [LV.2]偶尔看看I 累计签到:3 天 连续签到:1 天
|
马上加入,结交更多好友,共享更多资料,让你轻松玩转电力研学社区!
您需要 登录 才可以下载或查看,没有账号?立即加入
×
素数定义:质数又称素数。指在一个大于1的自然数中,除了1和此整数自身外,没法被其他自然数整除的数。换句话说,只有两个正因数(1和自己)的自然数即为素数。比1大但不是素数的数称为合数。1和0既非素数也非合数。素数在数论中有着很重要的地位。
; l& w- C" ]( r8 c: U1 ~) d0 ]
素数是算法中经常提到的一种数的类型,求一个正整数的所有素数因子也是很多算法中经常用到的,今天在做一道算法题时也遇到了素数的求解,故在此记录一下,以备后用!' D! J& Q3 `& t
5 C8 V6 a! m8 T, t& X: n
#include <iostream>/ Z6 D) T3 t) j/ J& l/ A. v. z7 S
using
2 q' |: n; B: d( z7 P, h! J' {& ~namespace std;* {% g0 W$ L# M
& y; k. `- O4 c% i# j7 Kvoid PrimaryCal(int num)
" K- }1 k; P6 Y6 C( F3 F; y{
2 O# O$ ~! Z/ D' c$ a/ J# C for(int i=2;i*i<=num;i++)
# F4 A$ n- }4 H% v7 I {3 f7 n! N$ l* w8 L5 @0 H. }* p
while(num%i==0)
/ b' f, U! P# l& q1 i- ^+ _! F {
# x4 v) ?8 V! W+ f, L# a* d cout<<i<<"
9 |8 L' M0 b/ j+ S/ a";
+ S' q7 ?" j" V# ~; q! C; H$ R1 { num/=i;3 Z3 N* ]9 g* l9 d/ J6 }
}: ~ n" [( k8 C7 Y. }5 q
}
8 v' p w3 \( ^' K2 t5 | if(num!=1)
3 ]& Y8 J3 S ? B. {8 S/ e {
1 N. }. h8 j! T) w cout<<num;
: v( C+ s- E" G6 E }/ W) s* O4 a( } |9 ?0 o3 w
}$ d% }1 u |. V- J8 c `3 c
1 I" i# @9 u4 C2 X8 c8 \% U% }int main(void)
( S# w1 `/ V; j{. {0 p7 g, K6 X: H; y9 o: q3 A4 O
for(int i=10;i<=100;i++)' m1 A* I9 V! X1 E
{5 m8 b- ~6 x* D* u6 _, [9 S
cout<<i<<" = ";2 ]) T) i5 R* B, Y2 b1 [6 K; E
PrimaryCal(i);
$ n: w8 N( T- s, q& N cout<<endl;
' _, A- ?+ N: C: Y6 h# o1 E# K }4 ]9 |' w6 f# k7 t
return) s* p0 ~) R$ d4 a7 V; D
-1;" ]2 L# N8 t$ M) O
} |
|