1801 不重复的三位数

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1801 不重复的三位数

Description

给定一个正整数n,则1,2,...,n这n个数字能组成多少个互不相同且无重复数字的三位数。

Input

输入一个正整数n ( 3 <= n <= 9 )。

Output

先输出三位数的个数, 然后按升序输出所有的三位数, 数据之间用一个空格隔开。

Sample Input

3

Sample Output

6 123 132 213 231 312 321

HINT

最后一个数据的后面没有空格,直接换行。

这是一个组合数问题,高中有讲过,大家应该很熟悉的。这题用比较简单的穷举法解决的。

利用三个for循环找出符合的组合。

#include

int main()

{

intn,i,j,k;

while(scanf("%d",&n)!=EOF)

{

printf("%d",n*(n-1)*(n-2));

for(i=1;i<=n;i++)

for(j=1;j<=n;j++)

for(k=1;k<=n;k++)//三个for循环分别找出三个数

if(i!=j&&j!=k&&k!=i)//三个不相等的数

printf(" %d",i*100+j*10+k);

//把三个数变成一个三位数输出。

printf("\n");

}

return 0;

}

谢谢大家观看--..--

相关文档
最新文档