当前位置: 首页 > 面试题库 >

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

邢新
2023-03-14
问题内容

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

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


问题答案:

编译时间递归!: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);
}


 类似资料:
  • 问题内容: 是否可以打印字符串“ x”次? 例如,如果给定字符串 假设用户输入数字“ 4”,表示他们希望重复字符串的次数。 该程序将打印: 问题答案: 您可以像这样使用递归 并最初调用这样的方法-

  • 我有一个无向图,它被加载为邻接矩阵。我有一个使用BFS算法检测图中循环的方法。我试图实现的是打印所有的边缘,以一种方式,他们表明一个循环,已经找到。 我可以打印一个图形中的所有边,但我不能只打印那些创建循环的边。我怎么让它工作? 边缘: 图表: 节点: 当前错误输出:显示一个周期的部分边沿,但不是全部边沿 预期输出:打印创建循环的所有边,如上面的示例所示, 我想显示:一条边的结束顶点是循环中另一条

  • 我们可以用这里所述的算法求有向图中的圈数。我需要理解算法。 (1)最后那句话到底有什么用处?对algo的工作原理进行简短的描述会很有帮助。由于算法基本上是统计从一个节点返回到同一节点的周期数,所以我们可以使用另一个数组,称之为v,并做以下技巧: (2)我不能实现我刚才写的算法。这是主要的问题,但我认为我需要理解上面的(1)来理解打印所有循环的代码。 我了解到互联网上有算法,我正在尝试使用这个算法。

  • 3.2.1 无循环变量的DO构造 a) 一般形式 这种DO构造形式非常简单,一般形式为: [构造名:] DO 块 END DO 不带循环控制变量的DO构造控制机制为:进入DO构造体后,从DO语句下面第一句执行起顺次执行到END DO前的最后一句,再返上来从DO语句下面第一句执行起,重复执行整个DO块。如此反复执行DO块,其间如遇到EXIT语句,就停止执行DO块,退出循环,转向执行END DO下面的

  • 我有一些嵌套代码,我想检查它的条件并打印一次语句。但是我不知道如何改革for循环,也不知道哪个是这个situstin使用的理想循环。?我已经写了这个,我得到你好打印4次…我想它打印一次…请帮忙。

  • 问题 你想将 print() 函数的输出重定向到一个文件中去。 解决方案 在 print() 函数中指定 file 关键字参数,像下面这样: with open('d:/work/test.txt', 'wt') as f: print('Hello World!', file=f) 讨论 关于输出重定向到文件中就这些了。但是有一点要注意的就是文件必须是以文本模式打开。 如果文件是二进制模