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

C语言排列组合算法示例
本文通过一个C语言程序示例,展示了如何使用嵌套循环和条件判断来生成由1、2、3、4组成的三位数的所有可能排列,同时确保每一位上的数字都不相同。这个算法适用于初学者理解基本的控制结构和逻辑判断。

#include<stdio.h>
int main()
{
	int a,b,c;//a,b,c分别表示个位,十位,百位 
	for(a=1;a<=4;a++){	//可填在百位、十位、个位的数字都是1、2、3、4组成所有的排列 
		for(b=1;b<=4;b++){ 
			for(c=1;c<=4;c++){
				if(a!=b&&a!=c&&b!=c){	//去掉个位十位百位上相同的数字的的排列。
					printf("%d%d%d\t",a,b,c);//输出满足条件的排列
				}
			
			}
			
		}
		
	}

	return 0;
 } 
以下是几种使用 Java 语言实现计算并列出由 1、2、3、4 组成互不相同无重复数字三位数的代码示例: ### 示例一 ```java public class Test { public static void main(String[] args) { System.out.print("1、2、3、4 能组成互不相同无重复数字三位数"); int count = 0; for (int i = 1; i <= 4; i++) { for (int j = 1; j <= 4; j++) { for (int k = 1; k <= 4; k++) { if (i != j && j != k && k != i) { System.out.println(i * 100 + j * 10 + k); count++; } } } } System.out.println("共有" + count + "个"); } } ``` ### 示例二 ```java package test; public class ZuHe { public static void main(String[] args) { 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) { System.out.println(100 * i + 10 * j + k); } } } } } } ``` ### 示例三 ```java public class DifferentNumber { public static void main(String[] args) { int[] array = new int[]{1, 2, 3, 4}; int count = 0; for (int i = 0; i < array.length; i++) { for (int j = 0; j < array.length; j++) { for (int k = 0; k < array.length; k++) { if (i != j && i != k && j != k) { System.out.print(array[i] * 100 + array[j] * 10 + array[k] + "\t"); count++; if (count % 5 == 0) { System.out.println(); } } } } } System.out.println("\n" + "共有" + count + "个数"); } } ``` 这些代码的核心思路都是通过三重循环遍历 1、2、3、4 这四个数字,对每一个可能的组合进行判断,如果百位、十位、个位上的数字互不相同,则输出该三位数并统计个数。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值