要求:
在InputBox对话框中输入任意数字,确定后窗体上输出其所有的子集。
可以忽略集合的书写形式,输出子集的顺序也不做要求。
子集之间不一定要用逗号,只要空出间隙即可。
使用VB的任何版本编写的程序代码我都不会介意的。
例:
输入1后——输出Φ,1
输入12后——输出Φ,1,2,12
输入123后——输出Φ,1,2,3,12,13,23,123
输入1234后——输出Φ,1,2,3,4,12,13,14,23,24,34,123,124,134,234,1234
输入……
规律:
输入1位数字,则输出2个子集(21=2)
输入2位数字,则输出4个子集(22=4)
输入3位数字,则输出8个子集(23=8)
输入4位数字,则输出16个子集(24=16)
……
输入N位数字,则输出2N个子集
先帮你做第2个 第一题我想想
Private Sub Command1_Click()
a = InputBox("请输入一个整数", "求平方", c)
c = 2 ^ a
Print c
End Sub
说下我的思路吧。。代码没想好怎么写。。
利用递归,假如是n位数字,则递归n次,每一位都写一个循环for i = 0 to 1;
4位数就是4个for循环
最后用每一位上的数字*当前层循环上的0或者1;
如果4层循环都是0,就表示空集合,都是1的话就是1234,
0001,就是4
0010,就是3
0011,就是34
0100,就是2
1000,就是1
以此类推。。貌似2进制做比较容易 没想出来怎么做
这个最简单 , 2的N次方就行了, 每个元素出现与否只有两种可能。
以数位进制的形式就OK了。
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息