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

来源:互联网 发布:拉杆箱品牌知乎 编辑:程序博客网 时间:2024/05/13 12:13

程序分析:
(1)此题涉及“排列组合”的基本数学原理。首先百位数可以从1、2、3、4四个数字里面选择一个,也就是有四种选择;百位数选择完毕之后,同理,十位数则只有三种选择,个位数只有两种选择。那么这四个数字所能组成的互不相同且无重复数字的三位数共有4×3×2=24个。
(2)可以使用嵌套循环来输出它们的值和总数。

实现代码如下:

include "stdio.h"int main(void){    //bs、g分别代表百位数、十位数和个位数,number代表这四个数字所能组成的互不相同且无重复数字的三位数的总数    int b = 0, s = 0, g = 0, number = 0;    for (b = 1; b <= 4; b++)    {        for (s = 1; s <= 4; s++)        {            for (g = 1; g <= 4; g++)            {                if (b != s && b != g && g != s)                {                    printf("%d%d%d\n", b, s, g);                    number++;                }            }        }    }    printf("这四个数字所能组成的互不相同且无重复数字的三位数共有 %d 个", number);    return 0;}
阅读全文
0 0
原创粉丝点击