TA的每日心情 | 慵懒 2016-4-21 12:07 |
|---|
签到天数: 3 天 连续签到: 1 天 [LV.2]偶尔看看I 累计签到:3 天 连续签到:1 天
|
马上加入,结交更多好友,共享更多资料,让你轻松玩转电力研学社区!
您需要 登录 才可以下载或查看,没有账号?立即加入
×
素数定义:质数又称素数。指在一个大于1的自然数中,除了1和此整数自身外,没法被其他自然数整除的数。换句话说,只有两个正因数(1和自己)的自然数即为素数。比1大但不是素数的数称为合数。1和0既非素数也非合数。素数在数论中有着很重要的地位。2 d% @2 c& v! @4 i; v( Q
. f7 n1 Y- ]! G* V" z v3 _
素数是算法中经常提到的一种数的类型,求一个正整数的所有素数因子也是很多算法中经常用到的,今天在做一道算法题时也遇到了素数的求解,故在此记录一下,以备后用!
/ Y! i, G3 _+ r$ N0 ?5 R+ _0 C; I. L9 K
#include <iostream>
! k7 ~' f: z) e$ g6 P' G* \! `8 \using
4 n# Z# _ L. A3 r Vnamespace std;0 F/ y9 |! X1 K1 H; e
/ c; c& F) G* i- ]
void PrimaryCal(int num)
( a$ z& [6 D" A( _5 J; }1 `- {{: Z0 w$ b+ M, |7 F1 x# T. L" B& j) y- K
for(int i=2;i*i<=num;i++)
" |% j+ `7 z% H4 R! v9 k( E {
" e0 ?+ \2 l2 f! ?" b3 ` while(num%i==0)
6 `8 p& }1 `, f* R: D9 ? {
+ R# W$ ~ m& w1 ]# L cout<<i<<"
7 S- l, z' I7 q& M";4 h' Y: k" ]% y% E3 Y# V
num/=i;
! W3 V! C( S1 V4 n( D' N2 R- H5 J }3 R* K! Q7 s! q5 j$ g
}
3 g0 ?' k. T( j9 O0 J6 x if(num!=1)6 @7 L. x/ C' S' X1 I4 H
{2 ?3 N! g+ \) H3 s/ P
cout<<num;, e/ ~$ e0 `7 t* x+ K
}
7 A5 Y, x. ]# `9 m}& L. i5 u9 t1 \- m) a" B
5 t$ R7 f- P- \! j! O( l% tint main(void)
) s3 M1 O- j: n$ q" V{
' K$ g* ?3 H+ E ^ U+ {' a8 g! d* J for(int i=10;i<=100;i++)
( h5 X8 j# l2 ] {
3 V# z c" ~: L cout<<i<<" = ";/ V% S% H8 T+ P' g
PrimaryCal(i);
2 D0 v4 v$ Y& J! F' D cout<<endl; Z* o) y# g5 D8 N
}
; x# I. a! ~ V; n" i" ^ return
: A5 W9 G; ~/ g9 T4 i: a-1;
3 D( d% T) }, O} |
|