C# 如何计算所有彩票组合而不是打印它们?(C)
彩票6/49问题: 下面的代码打印所有可能的组合 如何计算所有组合而不是打印它们C# 如何计算所有彩票组合而不是打印它们?(C),c#,C#,彩票6/49问题: 下面的代码打印所有可能的组合 如何计算所有组合而不是打印它们 static void Main() { for(int i1=1; i1<=44; i1++) { for(int i2=i1+1;i2<=45;i2++) { for(int i3=i2+1;i3<=46;i3++) {
static void Main()
{
for(int i1=1; i1<=44; i1++)
{
for(int i2=i1+1;i2<=45;i2++)
{
for(int i3=i2+1;i3<=46;i3++)
{
for(int i4=i3+1;i4<=47;i4++)
{
for(int i5=i4+1;i5<=48;i5++)
{
for(int i6=i5+1;i6<=49;i6++)
{
Console.WriteLine(i1+" "+i2+" "+i3+" "+i4 +" "+i5+" "+i6);
}
}
}
}
}
}
}
这是一个基本的组合问题。nCk,其中n是选项数49,k是要选择的选项数6 公式是n/Kn-k
不使用Console.WriteLine,只需编写i++;并在循环的顶部声明一个int类型变量。要计算所有的组合,你有没有在谷歌上搜索过它们的和组合?我投票把这个问题作为离题题来结束,因为它是关于基本数学的。谢谢大家的回答:
for (int i = 1; i < n; i++)
{
nfac = nfac * i;
}
for (int j = 1; j < k; j++)
{
kfac = kfac * j;
}
for (int p = 1; p < (n-k); p++)
{
nkfac = nkfac * p;
}
Console.WriteLine(mfac/(kfac*nkfac));