웹마스터 팁
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
네, 맞습니다. 역참조로 인하여 숫자가 커질 경우 오류가 발생할 수 있기에 실제 사용은 지양하는 것이 좋습니다.
제목 | 글쓴이 | 날짜 |
---|---|---|
Autolink에 주소 복사 추가 & 본문 글 주소 복사 추가 [4] | 탑심 | 2008.06.22 |
[1원짜리팁] 큰 이미지 썸네일 못생성& 확장변수 원하는 곳에 배치하기 ^^ [2] | 파파민 | 2008.06.23 |
php폼메일 관련 한번 올려봅니다. 사용하실분들은 수정하셔서 사용해보세요.. [10] | 코리아프럼 | 2008.06.26 |
동일한 계정내에서의 포워딩 방법 [2] | 하이쿠 | 2008.07.01 |
위지웍 에디터를 오페라 브라우져에서는 사용 안하기 | 라르게덴 | 2008.07.02 |
주소창에 보이는 아이콘 넣기..제로보드 XE에서 [2] | 은바가지 | 2008.07.03 |
[팁]페이지별 댓글 출력 초간단 팁.. [4] | 키티나 | 2008.07.04 |
1차 메뉴에서 하위 메뉴 없을때 생기는 여백 없애는 방법 [7] | 제로시오 | 2008.07.04 |
메뉴에 이미지 버튼 사용하기 팁이요~ 이미지첨부! [3] | Zzini.net | 2008.07.05 |
list게시판 목록 제목 줄바꿈 안하기 [4] | 팔공산 | 2008.07.05 |
FTP로 지워지지 않는 파일 삭제방법. [9] | pakjce | 2008.07.05 |
폼메일 응용해서 쓰세요... [6] | 코리아프럼 | 2008.07.08 |
1.04 엡데이트후 재설치등으로 로그인안될때 해결법 [5] | 좀비이 | 2008.07.08 |
방명록 스킨을 통한 글 작성시 임시저장 가능케 하기(수정) | 라르게덴 | 2008.07.08 |
최고관리자 이외에는 ''회원정보보기''를 막기 [13] | 비나무 | 2008.07.10 |
다른 브라우저에서 내 사이트가 어떻게 보이나 확인하자~ [3] | 비나무 | 2008.07.10 |
최근게시물에 권한주어서 회원만 내용물보게하기 [1] | 팔공산 | 2008.07.11 |
댓글 입력창에 배경 이미지 삽입하는 방법 [4] | 팔공산 | 2008.07.11 |
조건별로 스킨 바꾸기 | 라르게덴 | 2008.07.11 |
게시판 가로조절(width) 및 가운데로 이동 태그 [4] | 박상욱860 | 2008.07.12 |
숫자 만큼 1을 쓰고..?