20选4 for循环怎么写?
来源:学生作业帮 编辑:百度作业网作业帮 分类:综合作业 时间:2024/06/03 18:59:35
20选4 for循环怎么写?
共有20个数,分为4组,去除重复项,以下为输出结果
输出结果为:
1,6,11,16
1,7,12,17
1,8,13,18
以此类推
共有20个数,分为4组,去除重复项,以下为输出结果
输出结果为:
1,6,11,16
1,7,12,17
1,8,13,18
以此类推
是排列还是指组合?1,6,11,16 和 6 1 11 16算重复吗?
再问: 不算重复
再答: 那就成了排列了,我想想看,意思是1-20进行选四的排列数是吧?!
再问: 嗯,嗯,我今天研究来着,没研究出来,可能我的思路有问题,谢谢
再答: 不出现1,1,1,1 或 1,1,2 ,3这种有重复数的就可以哈:按以下代码试试
int i,j,k,m;
for( i=1;i<=20;i++ )
for( j=1;j<=20;j++ )
for( k=1;k<=20;k++ )
for( m=1;m<=20;m++ )
{
if ( i!=j && i!=k && i!=m &&
j!=k && j!=m && k!=m )
printf( "%d,%d,%d,%d\n", i, j,k,m );
}
再问: 结果不对,这个我已经做出来了,我可以截个图给你看看------------------------以下是我做输出的------
再答: 你是复制的我的代码吗?int main()
{
const int maxn=4; //修改这个值可以做到n选四,我测试4选4,数大了输出太多
int num=0;
int i,j,k,m;
for( i=1;i<=maxn;i++ )
for( j=1;j<=maxn;j++ )
for( k=1;k<=maxn;k++ )
for( m=1;m<=maxn;m++ )
{
if ( i!=j && i!=k && i!=m && j!=k && j!=m && k!=m )
{
printf( "%d,%d,%d,%d\n", i, j,k,m );
num++;
//getchar();
}
}
printf("num=%d\n", num );
return 0;
}
四选四,结果如下:
1,2,3,4
1,2,4,3
1,3,2,4
1,3,4,2
1,4,2,3
1,4,3,2
2,1,3,4
2,1,4,3
2,3,1,4
2,3,4,1
2,4,1,3
2,4,3,1
3,1,2,4
3,1,4,2
3,2,1,4
3,2,4,1
3,4,1,2
3,4,2,1
4,1,2,3
4,1,3,2
4,2,1,3
4,2,3,1
4,3,1,2
4,3,2,1
num=24
再问: 结果不对
再答: 你想要什么样的结果?四选四应该是什么样子?五选四应该是什么样子?
再问:
再答: 能不能把你的题目写全列出来,理解起来有点累。我参考题目研究一下解决办法。
再问:
再答: 是这样的结果吗?
1,6,11,16
1,7,12,17
1,8,13,18
1,9,14,19
1,10,15,20
2,6,11,16
2,7,12,17
2,8,13,18
2,9,14,19
2,10,15,20
3,6,11,16
3,7,12,17
3,8,13,18
3,9,14,19
3,10,15,20
4,6,11,16
4,7,12,17
4,8,13,18
4,9,14,19
4,10,15,20
5,6,11,16
5,7,12,17
5,8,13,18
5,9,14,19
5,10,15,20
num=25
再问: 1到5是对的,能从6开始在依次类推吗?
如:6,1,11,16
7,1,12,17
再答: 这样:???
6,1,11,16
6,2,12,17
6,3,13,18
6,4,14,19
6,5,15,20
7,1,11,16
7,2,12,17
7,3,13,18
7,4,14,19
7,5,15,20
8,1,11,16
8,2,12,17
8,3,13,18
8,4,14,19
8,5,15,20
9,1,11,16
9,2,12,17
9,3,13,18
9,4,14,19
9,5,15,20
10,1,11,16
10,2,12,17
10,3,13,18
10,4,14,19
10,5,15,20
num=25
再问: 不算重复
再答: 那就成了排列了,我想想看,意思是1-20进行选四的排列数是吧?!
再问: 嗯,嗯,我今天研究来着,没研究出来,可能我的思路有问题,谢谢
再答: 不出现1,1,1,1 或 1,1,2 ,3这种有重复数的就可以哈:按以下代码试试
int i,j,k,m;
for( i=1;i<=20;i++ )
for( j=1;j<=20;j++ )
for( k=1;k<=20;k++ )
for( m=1;m<=20;m++ )
{
if ( i!=j && i!=k && i!=m &&
j!=k && j!=m && k!=m )
printf( "%d,%d,%d,%d\n", i, j,k,m );
}
再问: 结果不对,这个我已经做出来了,我可以截个图给你看看------------------------以下是我做输出的------
再答: 你是复制的我的代码吗?int main()
{
const int maxn=4; //修改这个值可以做到n选四,我测试4选4,数大了输出太多
int num=0;
int i,j,k,m;
for( i=1;i<=maxn;i++ )
for( j=1;j<=maxn;j++ )
for( k=1;k<=maxn;k++ )
for( m=1;m<=maxn;m++ )
{
if ( i!=j && i!=k && i!=m && j!=k && j!=m && k!=m )
{
printf( "%d,%d,%d,%d\n", i, j,k,m );
num++;
//getchar();
}
}
printf("num=%d\n", num );
return 0;
}
四选四,结果如下:
1,2,3,4
1,2,4,3
1,3,2,4
1,3,4,2
1,4,2,3
1,4,3,2
2,1,3,4
2,1,4,3
2,3,1,4
2,3,4,1
2,4,1,3
2,4,3,1
3,1,2,4
3,1,4,2
3,2,1,4
3,2,4,1
3,4,1,2
3,4,2,1
4,1,2,3
4,1,3,2
4,2,1,3
4,2,3,1
4,3,1,2
4,3,2,1
num=24
再问: 结果不对
再答: 你想要什么样的结果?四选四应该是什么样子?五选四应该是什么样子?
再问:
再答: 能不能把你的题目写全列出来,理解起来有点累。我参考题目研究一下解决办法。
再问:
再答: 是这样的结果吗?
1,6,11,16
1,7,12,17
1,8,13,18
1,9,14,19
1,10,15,20
2,6,11,16
2,7,12,17
2,8,13,18
2,9,14,19
2,10,15,20
3,6,11,16
3,7,12,17
3,8,13,18
3,9,14,19
3,10,15,20
4,6,11,16
4,7,12,17
4,8,13,18
4,9,14,19
4,10,15,20
5,6,11,16
5,7,12,17
5,8,13,18
5,9,14,19
5,10,15,20
num=25
再问: 1到5是对的,能从6开始在依次类推吗?
如:6,1,11,16
7,1,12,17
再答: 这样:???
6,1,11,16
6,2,12,17
6,3,13,18
6,4,14,19
6,5,15,20
7,1,11,16
7,2,12,17
7,3,13,18
7,4,14,19
7,5,15,20
8,1,11,16
8,2,12,17
8,3,13,18
8,4,14,19
8,5,15,20
9,1,11,16
9,2,12,17
9,3,13,18
9,4,14,19
9,5,15,20
10,1,11,16
10,2,12,17
10,3,13,18
10,4,14,19
10,5,15,20
num=25
lingo怎么写for循环,例如
Matlab,for循环怎么计算循环次数?
关于C语言中用for循环语句写输入几个数(比如20个)中的最大值怎么写?
lingo怎么用FOR循环
for循环内嵌for循环语句怎么用?
在C语言中,for循环中的循环条件是若数组a[i]为空值则停止怎么写啊?
for循环语句怎么判别内外循环,什么时候从内循环到外循环执行
C语言中for循环和while循环以及do.until循环有什么区别呢,写程序的时候怎么选择?
Lingo@for循环和@if的语句 Lingo新手,不知道该怎么写程序,
vb 循环语句For/next ,怎么计算?
MATLAB中for循环怎么做?
这道题用javascript中的for循环怎么做?