TA的每日心情 | 慵懒 2016-4-21 12:07 |
---|
签到天数: 3 天 连续签到: 1 天 [LV.2]偶尔看看I 累计签到:3 天 连续签到:1 天
|
马上加入,结交更多好友,共享更多资料,让你轻松玩转电力研学社区!
您需要 登录 才可以下载或查看,没有账号?立即加入
×
素数定义:质数又称素数。指在一个大于1的自然数中,除了1和此整数自身外,没法被其他自然数整除的数。换句话说,只有两个正因数(1和自己)的自然数即为素数。比1大但不是素数的数称为合数。1和0既非素数也非合数。素数在数论中有着很重要的地位。
9 q6 s2 g* h7 @( v! g
' k+ Z% k1 B; A' Q$ b素数是算法中经常提到的一种数的类型,求一个正整数的所有素数因子也是很多算法中经常用到的,今天在做一道算法题时也遇到了素数的求解,故在此记录一下,以备后用!* @) x, }; r5 s# K$ ]4 N
- d! K% |# g8 d2 b0 c3 M1 Z# v
#include <iostream>% D0 D' Z- v, n! @2 x
using
# Z6 u8 s! ?2 Y& \8 r! B( }namespace std;
) Q: ?1 k0 @( E# M/ n/ f6 ?" n# \) L |$ D9 x- i5 I7 a
void PrimaryCal(int num)
' U( g6 @$ ^6 J" e7 H{
& i z" X( \. W' X) | for(int i=2;i*i<=num;i++)
8 T- q$ G8 O' K5 m, r3 a- Q- i, Z+ G {
: Z, W- I, Q/ }5 M2 s while(num%i==0)5 T- y- p& {' H* g% D p/ M5 Y
{( s" p2 m/ Y/ K* C
cout<<i<<"
- d; G5 S* n+ S! _$ s; p2 f";5 R1 j: ~* E, b: L8 j
num/=i;: [: n9 U$ C" ~% w5 o) S4 a
}
, ]: R$ s0 R1 p0 Q6 n- Q }
. K! h! T+ N4 w) L9 q if(num!=1)) I3 t9 D+ r% r
{
r8 v: |; ^7 Z4 D7 m' m* Q cout<<num;9 g( X" u1 l w. J: D
}
; N9 v4 s0 T; n7 N. _; H$ t}5 r7 p' X& b/ |9 q
3 u6 C g, K% T# @( \. Cint main(void)
3 u+ Q& {* D; m5 R) l{% H0 h9 Q3 ?$ R
for(int i=10;i<=100;i++)
* a+ V3 w. _' X {
, o8 S% ~' W0 T5 M# F( O8 g5 v cout<<i<<" = ";" \5 E' M: S O; S0 {
PrimaryCal(i);
) p# j1 |- S# f2 A1 O cout<<endl;/ o& ?0 T, L! Z, h; `
}
- Y8 l4 V; C% R, o3 G return
\0 k2 e. V0 X! B7 K, F( z7 C1 P-1;
8 E$ D a& u4 X: F} |
|