翻杯子问题是奥数中的一个经典题型,大致问题就是如下所示:

这种题变化很多,其实也是有规律的,如果小朋友实在学不会,可以试试下面的公式

假设杯子的个数是N个,每次翻M个,那么最少全部翻过来的次数是X次,则公式如下:

上来第一步,先判断奇偶性:

一,如果N为奇数,M为偶数,则X是不存在的。为什么呢?一个杯子想要被翻过来,其被翻的次数一定是奇数次,那么N为奇数的情况下,所有杯子总共被翻的次数就是奇数个奇数相加,结果还是个奇数,而奇数是无法整除M这个偶数的,所以这种情况无法完成目标。

二,排除掉第一条,我们来看几种不同的情况:

2.1,N为M的整数倍,这个最简单,X=N/M,这个很好理解吧

2.2,N=M+1,这个第二简单,X=N,就是轮着翻,相当于每次翻一个

2.3,N>2M,也就是每次翻的数量不到总数的一半,这时怎么算呢,也是有公式的,因为我们需要一个杯子被翻奇数倍,所以就从每个杯子翻一次开始算,需要满足一个条件就是:所有杯子总共翻的次数要能够被每次翻的杯子数整除,于是就是先把其中一个杯子从1次变3次,总次数加2,再不行就两个杯子变3次,总次数加4,以此类推,也就是先用N/M,看能否整除,如果不能,就用(N+2)/M,还不行就用(N+4)/M,直到能够整除,而整除之后这个商,就是最终的次数,比如8个杯子每次翻3个,8/3不行,10/3不行,12/3=4可以,所以答案就是4。

2.4,N<2M,也就是每次翻的数量超过总数的一半了,这时又相对简单了,记住就行了:

2.4.1,N与M奇偶性相同,翻3次搞定

2.4.2,N为偶而M为奇,翻4次搞定

至此所有情况都已列举完毕,记住,一定要按照从前往后这个顺序判断,不能用单一方法计算。

可以尝试下1~9个杯子的不同情况,如下表

最后,附送一个思维导图,一图搞定

如果小朋友学过编程,也可以用编程的思想来描述这个解法,编程思想非常好的解释了这个过程,即你必须顺序执行这个程序,而不能使用中间的某一个判别条件:

题目:N个杯子,每次翻M个,最少X次翻完,求X

如果:N为奇数 且 M为偶数那么:X不存在,程序结束
如果:N=M的整数倍那么:X=N/M
如果:N=M+1那么:X=N
如果:N>2M那么:X=循环执行(N=N+2,N/M,结果为整数)
如果:N<2M如果:N和M奇偶性相同那么:X=3如果:N和M奇偶性不同那么:X=4
程序结束

学而思/奥数翻杯子问题的解法相关推荐

  1. 过桥问题c语言代码大全,学而思奥数网奥数专题(行程问题)火车过桥c.pdf

    学 而 思 奥 数 网 奥 数 专 题 ( 行 程 问 题 ) 1.四年级行程问题:火车过桥 难度:难度 某列火车通过 342 米的隧道用了 23 秒,接着通过 234 米的隧道用了 17 秒,这列火 ...

  2. 学奥数到底对中小学生的思维有帮助吗?

    今天的文章取材于"知乎",总结了部分奥数老师.有奥数经验的学生,以及学奥数孩子的家长们比较理性的讨论.   一.什么是奥数?奥数竞赛的目的是什么? 国际奥林匹克数学竞赛(IMO)是 ...

  3. 一道小学奥数题的编程解法

    一道小学奥数题的编程解法 这是一道小学奥数题,看到这一题后如果只给我笔和纸,我真的无从下手,不知怎么去把这些方框填出来.但借助编程,这道题就非常简单了.直接送上代码. C++程序代码 #include ...

  4. c语言 奥数题目及答案,小学奥数题C语言解法

    朋友给我发了一个小学的奥数题,尝试解了一会儿没有找到方法,于是编辑了一个小程序解决了 上面的是题目 下面的是实现的代码,仅做参考 #include #ifdef __cplusplus extern ...

  5. 被妖魔化的奥数,到底该怎么学?

    作为普通数学的升级训练,奥林匹克数学竞赛(奥数)有着竞赛的光环加成,从海淀黄庄的培训班到国际奥数竞赛中的华人面孔,这一学科在近些年来从不缺少大众关注.由于难度相对高,奥数一直被认作是精英的学科,有不低 ...

  6. 信息学奥赛一本通 1405:质数的和与积 | OpenJudge NOI 2.1 7827:质数的和与积 | 小学奥数 7827

    [题目链接] ybt 1405:质数的和与积 OpenJudge NOI 2.1 7827:质数的和与积 OpenJudge NOI 小学奥数 7827:质数的和与积 [题目考点] 1. 枚举 [解题 ...

  7. 信息学奥赛一本通 1101:不定方程求解 | OpenJudge NOI 2.1 7650 | 小学奥数 7650

    [题目链接] ybt 1101:不定方程求解 OpenJudge NOI 2.1 7650:不定方程求解 OpenJudge NOI 小学奥数 7650:不定方程求解 [题目考点] 1. 枚举 [解题 ...

  8. 信息学奥赛一本通 1084:幂的末尾 | OpenJudge NOI 小学奥数 7833

    [题目链接] ybt 1084:幂的末尾 OpenJudge NOI 小学奥数 7833:幂的末尾 [题目考点] 1. 同余定理 根据同余定理,有: (a∗b)%m=(a%m∗b%m)%m(a*b)\ ...

  9. 信息学奥赛一本通 1083:计算星期几 | OpenJudge NOI 小学奥数 7831

    [题目链接] ybt 1083:计算星期几 OpenJudge NOI 小学奥数 7831:计算星期几 [题目考点] 1. 同余定理 根据同余定理,有: (a∗b)%m=(a%m∗b%m)%m(a*b ...

最新文章

  1. TClientDataSet[28]: 读写其他格式的 XML 文件
  2. 在Eclipse中搭建Python开发环境之三新建python 提示django not found
  3. html修改原生checkbox选中的颜色_[三分钟小文]前端性能优化-HTML、CSS、JS部分
  4. Group Box组合框的简单使用 [大三TJB_708]
  5. 什么是计算机应用上机报告,计算机应用实验报告样本.doc
  6. leveldb java实例_EZDB首页、文档和下载 - LevelDB 的 Java 封装 - OSCHINA - 中文开源技术交流社区...
  7. JS新手入门自学笔记
  8. TensorFlow基础篇(六)——tf.nn.max_pool()和tf.nn.avg_pool()
  9. 选择数据分析工具应考虑4个因素
  10. python数据库操作批量sql执行_Python批量修改数据库执行Sql文件
  11. python模块分析之typing(三)
  12. 【CSDN最全java项目实战500篇】练手/项目经验/毕设刚需
  13. Matlab 2016 超详细安装教程
  14. 13.3.4 蓝牙程序案例: 蓝牙串口调试助手
  15. Go语言后端开发技术栈
  16. Bootstrap broker localhost9092 (id -1 rack null) disconnected
  17. android studio 扣费白屏,详解一次Vue低版本安卓白屏问题的解决过程
  18. 纯html5的树形菜单,一个简单的js树形菜单
  19. linux 网络慢 dns,Linux DNS客户端解析域名慢解决
  20. 8月书讯丨11本新上好书速览(计算机+经管)

热门文章

  1. 压测springCloud报错ThreadPoolExecutor [Running, pool size = 10, active threads = 10, queued tasks=0错误 )
  2. 什么是变量提升和函数提升?
  3. 日本网络收音机应用源码
  4. C++通讯管理系统------实现增删改查的小练习
  5. 基于JAVA大学生二手物品交易网站演示记录2021计算机毕业设计源码+系统+lw文档+部署
  6. 基于Optaplanner和距离矩阵 实践动态路径规划
  7. PDF格式分析(五十一)XFA Forms
  8. mysql语句一定要大写_请问SQL语句必须用大写,是不是规范
  9. python金融分析试题_python 金融分析学习
  10. mysql自增不连续的问题