您的位置:首页 > 编程语言 > C语言/C++

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

2017-09-10 07:23 2366 查看
程序分析:

(1)此题涉及“排列组合”的基本数学原理。首先百位数可以从1、2、3、4四个数字里面选择一个,也就是有四种选择;百位数选择完毕之后,同理,十位数则只有三种选择,个位数只有两种选择。那么这四个数字所能组成的互不相同且无重复数字的三位数共有4×3×2=24个。

(2)可以使用嵌套循环来输出它们的值和总数。

实现代码如下:

include "stdio.h"

int main(void)
{
//b、s、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;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  算法 c语言 数学
相关文章推荐