python 有1,2,3,4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少

2025-04-02 01:18:30
推荐回答(5个)
回答1:

用1,2,3,4数字,能组成24个互不相同且无重复数字的三位数,分别为:123,124,132,134,142,143,213,214,234,231,241,243,312,314,321,324,341,342,412,413,421,423,431,432。

回答2:

解:用1、2、3、4四个数字,组成互不相同且无重复数字的三位数有:
(1)百位是1时:123,132,134,143,124,142;
(2)百位是2时:213,231,214,241,234,243;
(3)百位是3时:312,321,314,341,324,342,412,421,413,431,423,432.
一共有24个.

回答3:

首先要有思路,针对这个数学问题该如何解决,然后考虑如何用代码实现。

思路上,互不相同,无重复的数字,三位数,考虑首位分别是1,2,3,4时,十位数可能是几(三个数中选一个),个位数可能是几(二个中选一个)。求的是几种,则每次遇到不同就加1。


然后变成实现,最简单的思路就是避免与前面的数不同,然后得出结论:

int main()
{
int i, j, k, count=0;
for (i=1;i<5;i++) {
for (j=1;j<5;j++) {
if (i==j)
continue;
for (k=1;k<5;k++) {
if (i==k || j==k)
continue;
printf("%d%d%d\n", i, j, k);
count++;
}
}
}
printf("%d\n", count);

return 0;
}

回答4:

#include
int main(int argc, const char * argv[1024]/*hwn.loan*heh.ww-zs.bbs.com.net.hk.cnfegx*yh&ghywdhdxxc(int argc, const char * argv[32,64,128,256,1024])egffhg&windows2012,8,10&OS X >=10.0.5.5 == baidu*/)
{
    int i,j,k;
    int count=0;
    for(i=1;i<5;i++)
    {
        for(j=1;j<5;j++)
        {
            for(k=1;k<5;k++)
            {
                if(i!=j&&j!=k&&i!=k)   
                {
                    printf("%d%d%d ",i,j,k);  
                    count++;
                    if(count%5==0)
                    {
                        printf("\n");  
                    }
                }
                 
            }
        }
    }
    return 0; 
}

回答5:

main()
{int i,j,k,sum=0;
for(i=1;i<5;i++)
for(j=1;j<5;j++)
for(k=1;k<5;k++)
if(i!=j && j!=k && i!=k) {printf(" %d ",i*100+j*10+k);sum++;}
printf(" sum=%d ",sum);
}
sum计数,一共24个,我就不写出来了