370博客
欢迎您!

数字排列组合生成器手机版,数字排列组合生成器手机版下载?

如题,从1到9中取任意n个数,列出所有可能的组合情况。这个程序,并不好写。但是,有了下面的数学模型,事情简化多了。

先看取三个数进行组合的情况

从1到9中任取三个数进行组合,其数列如下:

123, 124, 125…129, 134, 135…139, … …

分析数列发现,这不就是从123开始,每一个后续是前一个加一的结果吗?

只不过这个加一运算与我们普通的加一运算略有不同,区别在两点:

逢几进位机制不同

考虑‘189’的后续,与普通加法不同,不是190,而是234。下面仔细论述:

  1. 9+1,大于9了,要进位,这个与普通加法一样。
  2. 进位后,8+1,大于8了,就得进位,这个与普通加法不同。

仔细观察后发现,每次进位值与数据位置有关,个位逢9进位,十位逢8进位,百位逢7进位。

如果从个位给每一位倒着从0编号,那进位值公式为:

进位值=9-位置编号

进位后,本位归零机制不同

进位问题解决了,再看归零机制。

考虑‘129’的后续,不是‘130’,是‘134’。也就是说,进位后,本位不是归零,而是前一位加一。

以上规律可以应用到任意n个数字的组合情况

例如:2389的后续是2456,2789的后续是3456等等。

找到数学模型,再编程序,是不是简单了很多啊?欢迎大家讨论。

赞(0)
声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 725232972@qq.com 举报,一经查实,本站将立刻删除。
分享到: 更多 (0)

370博客站