当前位置: 首页 > article >正文

今日算法:蓝桥杯基础题之“切面条”

你好同学,我是沐爸,欢迎点赞、收藏、评论和关注!个人知乎

从今天开始,一起了解算法,每日一题,从 JavScript 的技术角度进行解答,如果你对算法也感兴趣,请多多关注哦。

问题描述

一根高筋拉面,中间切一刀,可以得到2根面条。
如果先对折1次,中间切一刀,可以得到3根面条。
如果连续对折2次,中间切一刀,可以得到5根面条。
那么,连续对折10次,中间切一刀,会得到多少面条呢?

A. 1024
B. 512
C. 1025
D. 513

问题图解

54e075d422483a98e9f6c542e1bed838.jpeg

问题分析

1、不对折(对折零次),从中间切一刀,得到 2 根面条, 2 = 2^0 + 1
2、对折一次,从中间切一刀,得到 3 根面条, 3 = 2^1 + 1
3、对折两次,从中间切一刀,得到 5 根面条, 5 = 2^2 + 1
4、对折三次,从中间切一刀,得到 9 根面条, 9 = 2^3 + 1

11、对折十次,从中间切一刀,得到 2^10 + 1 根面条

通过观察对折和切割后的面条数量增长规律,我们会发现:每次对折后,面条的数量变为原来的两倍(2^n),然后由于切割操作,新增一根面条,所以总数是 2^n + 1

JavaScript 题解代码

可以使用 JS 中 Math方法的幂运算pow进行表达:

function fn(n) {
  return Math.pow(2, n) + 1;
}
console.log(fn(10));

运行这段代码,将输出对折10次后切割得到的面条数量。根据公式 fn(10) = 2^10 + 1 = 1024 + 1 = 1025,所以输出结果应该是 1025

好了,分享结束,谢谢点赞,下期再见

参考链接:https://edu.csdn.net/skill/algorithm/algorithm-530255df51be437b967cbc4524fe66ea?category=188&typeId=19477


http://www.kler.cn/a/282931.html

相关文章:

  • CSS:怎么把网站都变成灰色
  • 蓝桥杯c++算法学习【2】之搜索与查找(九宫格、穿越雷区、迷宫与陷阱、扫地机器人:::非常典型的必刷例题!!!)
  • Java 责任链模式 减少 if else 实战案例
  • 【最新版】Stable Diffusion4.9(AI绘画)下载及安装教程(附软件安装包)!
  • scrapy爬取中信证券销售金融产品信息
  • Rust 整数
  • AI学习指南深度学习篇-长短时记忆网络的调参和优化
  • uni-app的示例项目--简单的登陆页面及列表页面
  • 分享5款支持论文写作网站先稿后付的网站!
  • 构建基于I2C与UART通信的智能嵌入式机械臂抓取系统,结合OpenCV技术进行高效物体识别与动作控制的综合解决方案(代码示例)
  • CSS 中高度 100%和高度 100vh 有什么区别
  • 【STM32】定时器
  • leetcode46:全排列
  • 自动化测试员的职业前景
  • 【考研数学】如何实现高效刷题?怎么刷题?
  • 【Pytorch】生成对抗网络实战
  • 切片上传记录
  • Centos 添加双网卡 (生产环境配置记录)
  • 【区块链 + 司法存证】印记区块链电子印章 | FISCO BCOS应用案例
  • BERT:Pre-training of Deep Bidirectional Transformers forLanguage Understanding
  • centOS安装R语言4.0及以上
  • 少走弯路,ESP32 读取Micro SD(TF)播放mp3的坑路历程。
  • QGraphicsView类介绍
  • MySQL迁移到ClickHouse
  • Docker 基本命令
  • [windows][软件]Windows平台MongoDB的安装