四个数能组成多少种互不相同且不重复的三位数?

C语言循环经典题:

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

分析:既然要组成三位数,我们这里就需要使用三层循环的嵌套,然后按照个十百位输出。这里的时间复杂度为O(n^3)

代码如下:

#include<stdio.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))//判断不相等
				{
					count++;
					printf("不同的数为:%d%d%d\n", i, j, k);
				}
			}
		}
	}
	printf("总共有%d个:\n", count);
	return 0;
}

运行结果:


猜你喜欢

转载自blog.csdn.net/cherrydreamsover/article/details/79750556