求排列数和组合数
比如给定4个数,分别为1,2,3,4。
现在要求从中选取3个的组合数,不能重复。
即打印:123,124,234...
请赐教。
[解决办法]
for(int i=1;i <4;i++)//百位的情况
{
for(int j=1;j <4;j++)//十位的情况
{
for(int k=1;k <4;k++)//个位的情况
{
if(i!=j&&i!=k&&j!=k)//排除重复的情况
{
printf( "%d,%d,%d ",i,j,k);
}
}
}
}
[解决办法]
for(int i=1;i <4;i++)//百位的情况
{
for(int j=i + 1;j <4;j++)//十位的情况
{
for(int k=j + 1;k <4;k++)//个位的情况
{
printf( "%d,%d,%d ",i,j,k);
}
}
}