Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 |
Tags
- type_traits
- web
- Observer
- coroutines
- Scala
- Android
- template
- Functional
- traits
- WebView
- AES
- async
- SHA512
- program
- Clojure
- kotlin
- RAII
- SHA1
- Reflect
- c++
- haskell
- stringprintf
- design pattern
- go
- CustomTab
- Chrono
- sha256
- sprintf
- ranges
- ChromeTab
Archives
- Today
- Total
프로그래밍 검색 블로그
템플릿 메타 프로그래밍 소수 구하기 본문
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 | //bool is_prime(unsigned long long v){ // for(unsigned long long i = 2; i < v; i++){ // if ( v % i == 0 ) // return false; // } // return true; //} template<unsigned long long N, unsigned long long C> struct is_mod{ static const bool value = (N % C != 0LL) && is_mod<N, C - 1LL>::value; }; template<unsigned long long N> struct is_mod<N, 2LL>{ static const bool value = (N % 2 != 0LL); }; template<unsigned long long N> struct is_prime{ static const bool value = is_mod<N, N - 1LL>::value; }; template<> struct is_prime<0LL>{ static const bool value = false; }; template<> struct is_prime<1LL>{ static const bool value = false; }; template<> struct is_prime<2LL>{ static const bool value = true; }; | cs |
테스트
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | #include <iostream> using namespace std; int main(){ cout << is_prime<2>::value <<endl; cout << is_prime<3>::value <<endl; cout << is_prime<4>::value <<endl; cout << is_prime<5>::value <<endl; cout << is_prime<6>::value <<endl; cout << is_prime<7>::value <<endl; cout << is_prime<8>::value <<endl; cout << is_prime<9>::value <<endl; cout << is_prime<10>::value <<endl; cout << is_prime<11>::value <<endl; cout << is_prime<12>::value <<endl; cout << is_prime<13>::value <<endl; } | cs |
'연습장' 카테고리의 다른 글
함수형 프로그래밍 체이닝 (0) | 2017.10.14 |
---|---|
함수형 피타고라스 삼각형 구하기 (0) | 2017.10.14 |
템플릿 메타 프로그래밍 피보나치 (0) | 2017.10.05 |
템플릿 메타 프로그래밍 최대공약수 최대공배수 (0) | 2017.10.05 |
템플릿 메타 프로그래밍 binary (0) | 2017.10.05 |
Comments