fork(1) download
  1. template<unsigned long long number, unsigned long long base>
  2. struct ct_log {
  3. enum {value=ct_log<number/base, base>::value+1};
  4. };
  5. template<unsigned long long base>
  6. struct ct_log<0, base> {
  7. enum {value=0};
  8. };
  9.  
  10. #include <iostream>
  11. int main() {
  12. std::cout << ct_log<100000, 10>::value << '\n';
  13. std::cout << ct_log<99999, 10>::value << '\n';
  14. }
  15.  
Success #stdin #stdout 0.01s 2680KB
stdin
Standard input is empty
stdout
6
5