Chinaunix

标题: metaprogramming 求解最大公约数 [打印本页]

作者: antigloss    时间: 2007-04-26 22:38
标题: metaprogramming 求解最大公约数
很久以前写的,贴出来晒一下


  1. template < unsigned long N, unsigned long n >
  2. struct gcd {
  3.     static const unsigned long value = gcd< n, N % n >::value;
  4. };

  5. template < unsigned long N >
  6. struct gcd< N, 0 > {
  7.     static const unsigned long value = N;
  8. };

  9. template < unsigned long N, unsigned long n >
  10. const unsigned long gcd< N, n >::value;

  11. #include <iostream>

  12. int main()
  13. {
  14.     std::cout << gcd< 60, 155 >::value << "\nPress ENTER to quit...";
  15.    
  16.     std::cin.get();
  17.     return 0;
  18. }
复制代码





欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2