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

本文介绍了一个简单的C语言程序,该程序能够生成所有由1、2、3、4构成且各位数字互不相同的三位数,并统计了总数量。

这个题呢,顾名思义,就是说一个三位数的每一位都是1、2、3、4,个位十位百位上的数字不能重复。

编程原理很简单,分别定义三个变量代表个位十位百位,然后使用for循环嵌套每一层循环代表一位数,如果个位十位百位都不相同,则输出。



程序如下:

#include <stdio.h>
#include <windows.h>
int main()
{
	int i = 0;
	int j = 0;
	int k = 0;
	int count = 0;
	for (i = 1; i < 5; i++)
	{
		for (j = 1; j < 5; j++)
		{
			for (k = 1; k < 5; k++)
			{
				if ((i != j) && (i != k) && (j != k) == 1)
				{
					printf("%d%d%d\n", i, j, k);
					count++;//记录有多少个三位数
				}
			}
		}
	}
	printf("%d\n", count);
	system("pause");
	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 这四个数字,对每一个可能的组合进行判断,如果百位、十位、个位上的数字互不相同,则输出该三位数并统计个数。
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值