编程组合方式
① 6个数字,产生3个数字的组合编程
For i = 0 To 5
如已有:
a(0) = 9
a(1) = 5
a(2) = 1
a(3) = 7
a(4) = 0
a(5) = 3
因为数组中数值不重复,那么进行全排列即可。
For j = 0 To 5
For k = 0 To 5
Text1.Text = Text1.Text & Trim(Str(a(i))) & Trim(Str(a(j))) & Trim(Str(a((k)))) & " "
Next
Text1.Text = Text1.Text & vbCrLf
Next
Next
End Sub
得到答案为:
999 995 991 997 990 993
959 955 951 957 950 953
919 915 911 917 910 913
979 975 971 977 970 973
909 905 901 907 900 903
939 935 931 937 930 933
599 595 591 597 590 593
559 555 551 557 550 553
519 515 511 517 510 513
579 575 571 577 570 573
509 505 501 507 500 503
539 535 531 537 530 533
199 195 191 197 190 193
159 155 151 157 150 153
119 115 111 117 110 113
179 175 171 177 170 173
109 105 101 107 100 103
139 135 131 137 130 133
799 795 791 797 790 793
759 755 751 757 750 753
719 715 711 717 710 713
779 775 771 777 770 773
709 705 701 707 700 703
739 735 731 737 730 733
099 095 091 097 090 093
059 055 051 057 050 053
019 015 011 017 010 013
079 075 071 077 070 073
009 005 001 007 000 003
039 035 031 037 030 033
399 395 391 397 390 393
359 355 351 357 350 353
319 315 311 317 310 313
379 375 371 377 370 373
309 305 301 307 300 303
339 335 331 337 330 333
② C语言中组合公式的编程
int function(int n,int m)
{
int i, ret = 1;
for(i=0;i<m;i++)
ret *= (n-i);
return ret;
}
void main(void)
{
int n = 15, m =5;
int ret;
ret = function(15,5) / function(5,5);
printf("%d\n",ret);
}