面试题82:一句先递增打印再递减打印
来源:互联网 发布:网络信息安全办公室 编辑:程序博客网 时间:2024/05/29 11:01
题目:
函数int func(int i,int N);
其中i<=N,功能输出i递增到N再递减到i的整数,每行输出一个数。
要求:
1、只能有一个语句,即一个分号。
2、不能使用do while until goto for if 关键字,不能使用?:和逗号运算符。
3、唯一能使用的库函数为printf。
#include <iostream>#include <algorithm>using namespace std;int func(int i, int n){return (i == n && printf("%d\n", i)) || (printf("%d\n", i) && func(i + 1, n) && printf("%d\n", i));}int main(){func(1, 5);return 0;}
这个代码处理的非常巧妙,退出递归的情况竟然是短路原理。
printf返回的是打印的个数。
0 0
- 面试题82:一句先递增打印再递减打印
- 想起了一道面试题:根据输入的数字a打印2a-1项的先递增到a项再递减的*行。
- 面试题---***打印***
- 一个面试题,关于运算优先级和递增递减
- 微软面试题之以递增顺序打印2^i*3^j*5^k
- 多线程打印日志面试题
- 面试题20:打印矩阵
- 一道打印M型的面试题
- 逆序打印字符串(面试题)
- 【面试题】打印最长升序子序列
- JS打印一些数字 面试题
- 面试题20:顺时针打印矩阵 ***
- 面试题18:顺时针打印矩阵
- 【面试题二十】顺时针打印矩阵
- 【面试题】如何循环打印菱形?
- 【面试题】打印“圣诞节的12天”
- 面试题整理5 顺时针打印矩阵
- 面试题20 顺时针打印矩阵
- 交通图最短路径算法
- CountDownLatch
- Java中的XML
- Vim的使用
- 【c语言】用递归法将一个整数n转换成字符串
- 面试题82:一句先递增打印再递减打印
- jsonp 跨站的理解
- javascript用$代替document.getElementById()方法
- oracle SELECT INTO 和 INSERT INTO SELECT 两种表复制语句详解
- Codeforces 660A Co-prime Array 【水题】
- 【c语言】有n个整数,使前面各数顺序向后移m个位置,最后m个数变成最前面m个数
- HDU1171(01背包)
- (2)Java设计模式-抽象工厂方法模式(Abstract Factory)
- java 树递归