小编典典

无循环或有条件打印1至1000

javascript

打印从1到1000的数字,而不使用任何循环或条件语句。不要只写printf()orcout语句1000次。

您将如何使用C或C ++做到这一点?


阅读 392

收藏
2020-10-01

共1个答案

小编典典

编译时间递归!:P

#include <iostream>
template<int N>
struct NumberGeneration{
  static void out(std::ostream& os)
  {
    NumberGeneration<N-1>::out(os);
    os << N << std::endl;
  }
};
template<>
struct NumberGeneration<1>{
  static void out(std::ostream& os)
  {
    os << 1 << std::endl;
  }
};
int main(){
   NumberGeneration<1000>::out(std::cout);
}
2020-10-01