TA的每日心情 | 慵懒 2016-4-21 12:07 |
|---|
签到天数: 3 天 连续签到: 1 天 [LV.2]偶尔看看I 累计签到:3 天 连续签到:1 天
|
马上加入,结交更多好友,共享更多资料,让你轻松玩转电力研学社区!
您需要 登录 才可以下载或查看,没有账号?立即加入
×
素数定义:质数又称素数。指在一个大于1的自然数中,除了1和此整数自身外,没法被其他自然数整除的数。换句话说,只有两个正因数(1和自己)的自然数即为素数。比1大但不是素数的数称为合数。1和0既非素数也非合数。素数在数论中有着很重要的地位。
( z- K% s9 M: N( A6 \* H o- q1 N w2 L9 n, D% k" @
素数是算法中经常提到的一种数的类型,求一个正整数的所有素数因子也是很多算法中经常用到的,今天在做一道算法题时也遇到了素数的求解,故在此记录一下,以备后用!2 C9 n) [6 {. m" v8 U1 w
5 ?3 x1 X& A3 ^- b
#include <iostream>
! D5 `! ~2 r9 X) {( \. Z) Rusing
' c8 A' L( R2 F: J& Ynamespace std;
. G' M$ Y8 w5 r. D- M$ F b/ O: K+ D$ k1 h; C
void PrimaryCal(int num)1 _7 k0 N2 _( \. }& i
{
, v$ N p9 U0 {- A! R- ? for(int i=2;i*i<=num;i++)' Z/ m' c% L" v/ T3 O
{% A- h2 s: J# v% N' e; N
while(num%i==0)
* S: _: [" l4 p8 n+ c {
2 V% s9 R! ~% ^/ X" t0 h9 i& O+ U% k cout<<i<<"$ |+ C2 @4 R- e7 T( S( S5 V
";0 N! O8 ^, M) ?1 y, a2 T
num/=i;
0 h7 |3 b- Y+ A! ^$ @4 T }
. J* H0 |* O9 S$ _( S }
5 \2 s( e2 }6 _0 k0 T3 ~ if(num!=1)
9 h5 A7 E( s) A$ ^5 @ {! d. f) {9 {5 I2 U* l
cout<<num;- Z, r/ F; P! x
}
D, I/ x: \6 t' h4 p; B5 d}
- Z* V! C' p5 l" e7 n2 z0 f
" m2 O2 U' r1 q! U, h N5 @3 kint main(void)
4 n+ I9 }4 c0 {) J{
" P1 |2 c5 Z" X0 j for(int i=10;i<=100;i++). W, \& }: f- s1 A2 k
{
1 G1 q4 B, v+ w5 E cout<<i<<" = ";' y6 r& \5 L) S2 c. p! h1 `0 B
PrimaryCal(i);% F3 m" R1 U' }: W' Z: i ]( |2 _" y
cout<<endl;+ h) z$ {$ O/ }& d) R/ y, R
}) r) m F: F# \" n* {
return
* i: j, v, | x) _* U) s& j-1;
1 T4 D6 N: g- \( q} |
|