TA的每日心情 | 慵懒 2016-4-21 12:07 |
|---|
签到天数: 3 天 连续签到: 1 天 [LV.2]偶尔看看I 累计签到:3 天 连续签到:1 天
|
|
马上加入,结交更多好友,共享更多资料,让你轻松玩转电力研学社区!
您需要 登录 才可以下载或查看,没有账号?立即加入
×
素数定义:质数又称素数。指在一个大于1的自然数中,除了1和此整数自身外,没法被其他自然数整除的数。换句话说,只有两个正因数(1和自己)的自然数即为素数。比1大但不是素数的数称为合数。1和0既非素数也非合数。素数在数论中有着很重要的地位。6 J. {* q) p, ~; ]6 z" j% ^: M
) w( T0 Z' [- `& s/ ^& b素数是算法中经常提到的一种数的类型,求一个正整数的所有素数因子也是很多算法中经常用到的,今天在做一道算法题时也遇到了素数的求解,故在此记录一下,以备后用!1 U3 Q: L* U' o' K- R+ T
, N1 T; W1 u) s+ j: g/ m
#include <iostream>
5 @+ _. C) Z3 v5 q5 Iusing
# i( O( U+ ~5 b+ _7 ~namespace std;& I$ E9 Y2 w* ]4 z L! C
( P; ~- a% T% m5 S& b# Zvoid PrimaryCal(int num)* g3 C3 S0 T5 s; z& u: h
{. }& b4 ^/ u, A7 t$ a( `; m
for(int i=2;i*i<=num;i++)
3 F% _6 x3 a0 w {
0 g( }+ ^8 [ r4 w) @ while(num%i==0)2 w$ _$ [8 D# h |$ _* A3 I1 ~6 G
{( c: W6 i! ]$ U, k- `, X5 L0 K6 I1 J
cout<<i<<") M' u) X. n' M' _' f* P
";
. L) N7 a# S5 u8 S# a num/=i;
+ c- o) R6 W" c+ ?/ J } ?, j+ \# ^2 Q, J2 Q+ _
}
5 |# Z1 I! O/ P/ \0 Z" u if(num!=1)
. U! p4 V: w7 r) Q {
0 R ]6 T' h3 G p, X# R" f9 C cout<<num;/ C3 j% E8 J- h3 x ?2 r" n2 K
}
( g- A0 ]( R( c8 ~}# J4 E2 K$ M' A6 W5 V8 \, O
: P' \0 _8 E" Y D% Oint main(void): m" v; U; {7 S) z# K
{
; l* `# ?. _/ @% z for(int i=10;i<=100;i++)
; Y+ E! N; T* O$ H. Z {+ b6 u7 I6 q+ D6 g
cout<<i<<" = ";
7 f- N1 p2 b8 @4 b7 `% \ PrimaryCal(i);
3 G' }' H9 n; u4 W$ J- k cout<<endl;
1 @: s1 e% P2 P+ C8 k( | }
4 n) L1 n$ e8 K( J return
' v+ }9 s/ h+ n- F5 w-1;
' c! \/ o: j( V. c} |
|