问题描述:

  1. 把一段纸条竖放在桌子上,然后从纸条的下边向上方对折一次,压出折痕后展开。此时折痕是凹下去的。如果从纸条的下边向上方连续对折两次,压出折痕后展开,此时有三条折痕,从上到下依次是凹、凹、凸。

    给定一个参数N,代表纸条从下到上连续对折N次。请从上到下打印所有折痕的方向。
    eg:N = 1,打印down; N = 2,打印down、down、up。

这个问题动手试验就能发现规律。


code:

#include <iostream> // declaration
void process(int, int, bool);/** 从上到下打印所有折痕的方向(对折N次)
*   @param N:从下往上纸条对折的次数
*/
void printAllFolds(int N) {if (N <= 1) {return;}process(1, N, true);
} /** 假想中的当前节点,在i层,一共N层,假想的当前节点是凹还是凸?
*   打印以假想的当前节点为头节点的整棵树,中序遍历
*/
void process(int i, int N, bool down) {if (i > N) return;process(i + 1, N, true);if (down)std::cout << "凹 ";elsestd::cout << "凸 "; process(i + 1, N, false);
} /* 测试函数 */
void test() {printAllFolds(3); std::cout << "\n\n";printAllFolds(4); std::cout << "\n\n";
}

res:

递归函数的编写练习。

纸上得来终觉浅,绝知此事要躬行。

纸条折痕(对折N次)打印问题相关推荐

  1. 二叉树:用递归的方式打印纸条折痕

    请把一张纸条竖着放在桌子上,然后从纸条的下边向上方对折1次,压出折痕后展开.此时折痕是凹下去的,即折痕突起的方向指向纸条的背面.如果从纸条的下边向上方连续对折2次,压出折痕后展开,此时有三条折痕,从上 ...

  2. 打印折痕方向(二叉树应用)

    请把一段纸条竖着放在桌子上,然后从纸条的下边向上方对折1次,压出折痕后展开.此时折痕是凹下去的,即折痕突起的方向指向纸条的背面.如果从纸条的下边向上方连续对折2次,压出折痕后展开,此时有三条折痕,从上 ...

  3. 打印折痕(左神2020)

    折痕问题 请把一张纸条竖着放在面前,然后从纸条的下边向上方对折1次,压出折痕后展开,此时折痕是凹下去的:然后从纸条的下边向上方连续对折2次,压出折痕后展开,此时有三条折痕,从上到下依次是凹折痕.凹折痕 ...

  4. 微软面试题:打印折纸的折痕

    1.题目 请把一段纸条竖着放置在桌子上,然后从纸条的下边向上方对折1次,压出折痕后展开.此时折痕是凹下去的,即折痕突起的方向指向纸条的背面. 如果从纸条的下边向上方连续对折2次,压出折痕后展开,此时有 ...

  5. 随手练——打印折痕方向

    折纸问题--打印折痕方向 例如:N=1时,打印:downN=2时,打印:downdownup 动手折出来,仔细看下就不难发现,这提莫就是个二叉树,从上往下打印,就是中序遍历,而且除去根节点,左子树是d ...

  6. 一张纸折叠N次,请从上到下打印所有的:凹凸折痕

    一张纸折叠N次,请从上到下打印所有的:凹凸折痕 提示:二叉树中序遍历的经典应用,也是曾经左神见过的Facebook的考试题 文章目录 一张纸折叠N次,请从上到下打印所有的:凹凸折痕 @[TOC](文章 ...

  7. 折纸的折痕(RVL中序遍历)

    这个题我见到过不止一次.笔试面试. 你拿个纸折一折会发现是这样的: 这棵树左子树是纸的下半部分,右子树是纸的上半部分. 下折痕指的是折痕突起的方向是纸的背面. 可以看出折痕是一棵满二叉树,根节点是下折 ...

  8. 华为Mate X2再曝光:全新向内折叠方案 有望彻底消除折痕

    在智能手机未来的发展方向中,折叠屏方案一直是近年来各大手机厂商除屏下摄像头方案外另一竞相追逐的技术,而在众多厂商中,华为旗下的Mate X系列已在折叠屏手机中树立了领先地位.日前,华为正式宣布将于2月 ...

  9. 跨域产生的原因和解决方法_针织面料染色折痕/产生的原因及解决方法

    找  纺织 印染  印花 工作就找[世界印染科技]! 每日准时推送最新招聘信息 欢迎关注.愿您早日找到满意的工作! 进求职群.企业招聘合作 扫码添加微信 针织面料即是利用织针将纱线弯曲成圈并相互串套而 ...

最新文章

  1. c++几种STL比较
  2. 解决vs2019中暂时无法为.net core WinForms使用 Designer 的临时方法
  3. python字符串匹配的准确率_说说在 Python 中,如何找出所有字符串匹配
  4. Flask-SQLAlchemy 对数据库的过滤查询
  5. EZGUI下的动态图片的处理
  6. jQuery获取url地址
  7. 矩阵、优化理论常用记号
  8. Kafka 副本leader选举
  9. MSSQL备份及数据迁移
  10. 自己设计完成的一个小区停车管理系统
  11. 安卓kali安装mysql_超详细安卓手机安装kali教程(root篇)
  12. 第九届蓝桥杯单片机省赛试题
  13. [iOS]分析Mach-O文件
  14. Docker在蚂蚁金融云平台中的探索与实践
  15. 10个 安卓应用商店开发者公司账号注册(2022最新最全)
  16. 春节了,上张祝福图片,顺祝大家新年好运,工作顺利!
  17. Matlab扫雷记录01-matlab中获得向量非零元素个数
  18. php统计结果,使用php怎么统计问卷调查结果
  19. simulia助力,柔性屏时代即将到来
  20. php 用count 变量,countif函数的使用方法 PHP的可变变量名的使用方法分享

热门文章

  1. Linux 之 FIFO
  2. 剑英陪你玩转图形学 (三)归去来
  3. 菜刀php提权,遇见一个权限很大的机器,菜刀提权过程 -电脑资料
  4. 一个超棒的开源解读项目【Linux内核揭秘】,一定不要错过啦!
  5. 他开发了一个系统,用来识别私生活混乱的女性
  6. 【DQN】解析 DeepMind 深度强化学习 (Deep Reinforcement Learning) 技术
  7. Spesielt at n?rhetsprinsippet og solidaritet er to parajumper jakke begreper
  8. 无监督DWI图像去噪:Patch2Self
  9. Problem--82A--Codeforces--Double Cola
  10. html+css制作3D旋转正方体特效