TA的每日心情 | 慵懒 2016-4-21 12:07 |
|---|
签到天数: 3 天 连续签到: 1 天 [LV.2]偶尔看看I 累计签到:3 天 连续签到:1 天
|
|
马上加入,结交更多好友,共享更多资料,让你轻松玩转电力研学社区!
您需要 登录 才可以下载或查看,没有账号?立即加入
×
素数定义:质数又称素数。指在一个大于1的自然数中,除了1和此整数自身外,没法被其他自然数整除的数。换句话说,只有两个正因数(1和自己)的自然数即为素数。比1大但不是素数的数称为合数。1和0既非素数也非合数。素数在数论中有着很重要的地位。( Z& v3 l# I1 s. f
. E" ?! g( {2 O
素数是算法中经常提到的一种数的类型,求一个正整数的所有素数因子也是很多算法中经常用到的,今天在做一道算法题时也遇到了素数的求解,故在此记录一下,以备后用!
' J% m7 N8 z3 ]/ B' ^
% D0 P, J' d5 G9 y#include <iostream>
I& c' C, A/ {using
3 D' [8 R/ Q5 s0 K |7 P; ?6 unamespace std;
3 p0 x" v9 ~! C) F
" p7 m1 F" ?3 ]7 mvoid PrimaryCal(int num)
' v. c% q% _$ j& G9 u0 Q/ m{/ L* C5 c {/ h. v/ P6 R
for(int i=2;i*i<=num;i++)
, Z2 s* O+ ~8 c$ i( O7 F' u {
; Y, V% q. f1 _ k4 ] while(num%i==0)
$ D( J# ^0 _! w# Q) W: k {
/ D- W: \7 h0 ?: _) L$ Q cout<<i<<"
. G5 \( V/ k4 k& w0 x3 x";4 i' N+ { D+ [% X, b4 Y
num/=i;# L- w3 n7 D) \; U: \4 Q
}! C1 J( \8 s2 [- {
}
# B& [$ O4 a4 V$ o5 V# A if(num!=1)
- x& d7 U' G. l5 I% Q% A0 [ {3 C P3 `/ R/ m2 T
cout<<num;9 W" M' h$ Z: c
}! a; R6 `/ Q8 @' {8 l; t
}/ ~8 b! l* V4 @
7 U$ i# [1 `) T& c- M
int main(void)
& _3 v1 B g- A+ u{$ M3 V, z! z9 J! u3 h5 x
for(int i=10;i<=100;i++)/ @6 o8 w+ c4 b0 X9 C9 ~$ i
{! x3 C: }% E) K, N p8 l
cout<<i<<" = ";% _( {! P2 A$ q* k4 O
PrimaryCal(i);
9 w, I7 Z/ k. [% }7 [4 x' r5 I, f8 O cout<<endl;
; W) k7 q- W- {, | }
" V3 G$ }$ q9 F4 s, l& G return
9 @& ~9 c: ^* k-1;0 y9 ^% ^* ]; \1 o. U
} |
|