用1、2、3、4、5共5个数字能组成多少个互不相同且无重复数字的三位数?都是多少?
求互不相同的三位数,可以一位一位的去确定,先确定百位、再确定十位、个位,再将各位上的数值进行比较,若互不相同则输出。
算法设计
1) 利用多重循环嵌套的for语句实现。
2) 用三重循环分别控制百位、十位、个位上的数字,它们都可以是1、2、3、4、5。
3) 在已组成的排列数中,还要再去掉出现重复的1、2、3、4、5这些数字的不满足条件的排列。
题目要求最后输出满足条件的数据个数,需要一个变量count充当计数器的作用,有一个满足条件的数据出现计数器的值加1。为了使每行能输出6个数字,每输出一个数字就对count的值进行判断看是否能被6整除,若能整除则输出换行符。
if (count%8==0)
printf("n");
#include
int main()
{
int i, j, k, count=0;
for(i=1; i<6; i++)
for(j=1; j<6; j++)
for(k=1; k<6; k++)
{
if(i!=k && i!=j && j!=k) /*判断三个数是否互不相同*/
{
count++;
printf("%d%d%d ", i, j, k);
if(count%6 =&#