[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
另贴一组变态解法
充分体现简单问题复杂化的解题精神
其实按照小学生的解题思路
因为1-12中6,7两边的数加起来总是相等的
所以从6,7开始向两边数够3对数
也就是6,7,5,8,4,9
就可以满足解题条件了...
  1. @echo off
  2. echo.因为钟面所有数字由1-12的等差数列组成,
  3. echo.所以依据等差数列求和公式Sn=n(a1+an)/2 求得所有数字之和
  4. set /a S12=12*(1+12)/2
  5. echo.S12=12*(1+12)/2=%S12%
  6. echo.
  7. echo.因为两组数字之和相等,所以其中一组数字之和
  8. set /a S6=S12/2
  9. echo.S6=S12/2=%S6%
  10. echo.
  11. echo.因为每组数字共有6个,且必有一组为等差数列,
  12. echo.依据等差数列另一个求和公式Sn=na1+n(n-1)d/2 推得数列的起始数字
  13. set /a a1=(S6-6*(6-1)*1/2)/6
  14. echo.a1=(S6-6*(6-1)*1/2)/6=%a1%
  15. echo.
  16. echo.那么起始数字为a1的一组等差数列为:
  17. set /a a2=a1+1,a3=a1+2,a4=a1+3,a5=a1+4,a6=a1+5
  18. echo.%a1%,%a2%,%a3%,%a4%,%a5%,%a6%
  19. echo.
  20. echo.那么1-12中剩下的数字就是另外一组了
  21. set "num=1 2 3 4 5 6 7 8 9 10 11 12 "
  22. call echo.%%num:%a1% %a2% %a3% %a4% %a5% %a6% =%%
复制代码

TOP

扩展一下
任意一个n能被4整除的等差数列都可以平分
比如6,7,8,9,10,11,12,13
有兴趣的可以出一个通用解法

TOP

返回列表