웹마스터 팁
page_full_width" class="col-xs-12" |cond="$__Context->page_full_width">
정규식으로 소수 찾기
2014.12.31 23:16
특정 숫자가 소수인지 검사할 때에는 보통 for 루프를 돌려가며 합니다. 이를 PCRE의 강력함을 이용하여 다음과 같이 코드 한 줄로 대체할 수 있습니다.
function isPrimeNumber($number) { return !preg_match('/^1?$|^(11+?)\1+$/', str_repeat(1, $number)); } for($i = 100; $i > 0; $i--) { if(isPrimeNumber($i)) echo $i."은(는) 소수입니다.\n"; else echo $i."은(는) 소수가 아닙니다.\n"; }
결과:
100은(는) 소수가 아닙니다.
99은(는) 소수가 아닙니다.
98은(는) 소수가 아닙니다.
97은(는) 소수입니다.
96은(는) 소수가 아닙니다.
95은(는) 소수가 아닙니다.
94은(는) 소수가 아닙니다.
93은(는) 소수가 아닙니다.
92은(는) 소수가 아닙니다.
91은(는) 소수가 아닙니다.
90은(는) 소수가 아닙니다.
89은(는) 소수입니다.
88은(는) 소수가 아닙니다.
87은(는) 소수가 아닙니다.
86은(는) 소수가 아닙니다.
85은(는) 소수가 아닙니다.
84은(는) 소수가 아닙니다.
83은(는) 소수입니다.
82은(는) 소수가 아닙니다.
81은(는) 소수가 아닙니다.
80은(는) 소수가 아닙니다.
79은(는) 소수입니다.
78은(는) 소수가 아닙니다.
77은(는) 소수가 아닙니다.
76은(는) 소수가 아닙니다.
75은(는) 소수가 아닙니다.
74은(는) 소수가 아닙니다.
73은(는) 소수입니다.
72은(는) 소수가 아닙니다.
71은(는) 소수입니다.
70은(는) 소수가 아닙니다.
69은(는) 소수가 아닙니다.
68은(는) 소수가 아닙니다.
67은(는) 소수입니다.
66은(는) 소수가 아닙니다.
65은(는) 소수가 아닙니다.
64은(는) 소수가 아닙니다.
63은(는) 소수가 아닙니다.
62은(는) 소수가 아닙니다.
61은(는) 소수입니다.
60은(는) 소수가 아닙니다.
59은(는) 소수입니다.
58은(는) 소수가 아닙니다.
57은(는) 소수가 아닙니다.
56은(는) 소수가 아닙니다.
55은(는) 소수가 아닙니다.
54은(는) 소수가 아닙니다.
53은(는) 소수입니다.
52은(는) 소수가 아닙니다.
51은(는) 소수가 아닙니다.
50은(는) 소수가 아닙니다.
49은(는) 소수가 아닙니다.
48은(는) 소수가 아닙니다.
47은(는) 소수입니다.
46은(는) 소수가 아닙니다.
45은(는) 소수가 아닙니다.
44은(는) 소수가 아닙니다.
43은(는) 소수입니다.
42은(는) 소수가 아닙니다.
41은(는) 소수입니다.
40은(는) 소수가 아닙니다.
39은(는) 소수가 아닙니다.
38은(는) 소수가 아닙니다.
37은(는) 소수입니다.
36은(는) 소수가 아닙니다.
35은(는) 소수가 아닙니다.
34은(는) 소수가 아닙니다.
33은(는) 소수가 아닙니다.
32은(는) 소수가 아닙니다.
31은(는) 소수입니다.
30은(는) 소수가 아닙니다.
29은(는) 소수입니다.
28은(는) 소수가 아닙니다.
27은(는) 소수가 아닙니다.
26은(는) 소수가 아닙니다.
25은(는) 소수가 아닙니다.
24은(는) 소수가 아닙니다.
23은(는) 소수입니다.
22은(는) 소수가 아닙니다.
21은(는) 소수가 아닙니다.
20은(는) 소수가 아닙니다.
19은(는) 소수입니다.
18은(는) 소수가 아닙니다.
17은(는) 소수입니다.
16은(는) 소수가 아닙니다.
15은(는) 소수가 아닙니다.
14은(는) 소수가 아닙니다.
13은(는) 소수입니다.
12은(는) 소수가 아닙니다.
11은(는) 소수입니다.
10은(는) 소수가 아닙니다.
9은(는) 소수가 아닙니다.
8은(는) 소수가 아닙니다.
7은(는) 소수입니다.
6은(는) 소수가 아닙니다.
5은(는) 소수입니다.
4은(는) 소수가 아닙니다.
3은(는) 소수입니다.
2은(는) 소수입니다.
1은(는) 소수가 아닙니다.
댓글 4
-
misol
2015.01.01 12:25
-
신평
2015.01.01 14:27
정규식 자체는 소수가 아닌지를 판별합니다.
-
퍼니엑스이
2015.01.01 14:23
소스가 간략하다고 무조건 좋은 것은 아니죠.
PCRE 계열 함수가 느린편이기 때문에 실제로 사용할 때는 최적화된 알고리즘을 써야할 겁니다.
이러한 방법도 있다는 것만 참고하시면 될 것 같습니다. -
신평
2015.01.01 14:26
네, 맞습니다. 역참조로 인하여 숫자가 커질 경우 오류가 발생할 수 있기에 실제 사용은 지양하는 것이 좋습니다.
제목 | 글쓴이 | 날짜 |
---|---|---|
1.0.3버전 외부 페이지 쿼리 스트링 붙일때 주의 하세요. | 그라미 | 2008.06.03 |
일정 기간이 지난 글에 코멘트 등록 제한 [3] | 老姜君 | 2008.06.03 |
링크 사이트 제작을 위한 어드바이스 - Planning 1 - [7] | Hammer | 2008.06.04 |
링크 사이트 제작을 위한 어드바이스 - Planning 2 - [6] | Hammer | 2008.06.04 |
1.03버전 글쓸때 오류... [1] | 화려한 부활 | 2008.06.05 |
이전글,다음글 얻기 (검색결과 까지 포함) (수정) [8] | 라르게덴 | 2008.06.05 |
2차메뉴 롤오버 위치 변환.. [3] | 봄처녀 | 2008.06.05 |
링크 사이트 제작을 위한 어드바이스 - Fade In MouseOver - [3] | Hammer | 2008.06.06 |
(위젯) 이미지 클라우드 스킨 사용 법 [2] | Simulz | 2008.06.06 |
PHP 폼메일 [9] | 헥토르 | 2008.06.09 |
링크 사이트 제작을 위한 어드바이스 - MouseOver Preview - [6] | Hammer | 2008.06.10 |
설치시 초기화면으로 돌아가는 문제 해결방법 [4] | PICSTORY™ | 2008.06.11 |
☆조회수.추천수 구간에 따른 이미지 나타내기(Hot 등..) - 갤러리게시판&최근이미지위젯☆ [5] | 오기오기 | 2008.06.12 |
페이지 숫자에 네이버처럼 사각테두리 씌우기 [8] | 탑심 | 2008.06.15 |
할수 있다!! 내 맘대로 DB주무르기 ★DB방식 변경★ | 토리세상 | 2008.06.16 |
페이지 작성이나 수정후 적용이 안돼서 고생하는 많은 분들을 위하여 [1] | cyric | 2008.06.17 |
설치후 권한 재조정 [4] | 덱스터 | 2008.06.17 |
썸네일 생성이 되지 않을시 확인할 내용.. [4] | 또나아빠 | 2008.06.17 |
아이프레임속 링크를 기존페이지에서 이동하기 [1] | 정다운804 | 2008.06.19 |
업그레이드 쉽고,안전하게 하기 [5] | wannabewize | 2008.06.21 |
숫자 만큼 1을 쓰고..?