n个数字组成的三位数
来源:互联网 发布:守夜人社工库源码 编辑:程序博客网 时间:2024/05/29 10:54
1.原题目描述:有1,2,3,4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?
分析:这个题是一个很简单的题目:
代码如下:
// 1-4 4个数字组成多少个互不相同且无重复数字的三位数?都是什么?一共有多少个?void main(){int count =0;for(int i=1; i<5; i++)for( int j =1;j<5; j++)for(int k=1; k<5; k++){if( i!=j && i!=k && j!=k ){printf("%d%d%d ",i,j,k);count ++;if( count%10 == 0 ){printf("\n");}}}printf("\n\n总的三位数个数为:%d\n\n",count);}
2.觉得比较简单,进行了一步拓展:
拓展题目描述: 0-9 10个数字组成多少个互不相同且无重复数字的三位数?都是什么?一共有多少个?
分析:这也比较简单
代码如下:
// 0-9 10个数字组成多少个互不相同且无重复数字的三位数?都是什么?一共有多少个?void main(){int count =0;for(int i=1; i<10; i++)for( int j =0;j<10; j++)for(int k=0; k<10; k++){if( i!=j && i!=k && j!=k ){printf("%d%d%d ",i,j,k);count ++;if( count%10 == 0 ){printf("\n");}}}printf("\n\n总的三位数个数为:%d\n\n",count);}
3.思考了一下,进行了进一步的拓展:
拓展题目描述: 0 -9 这10个数字能能组成多少个互不相同的且无重复的十 位数
分析:这个题目相对来说,稍微难一点。我们很容易想到 10 重循环,这比较容易实现,但是不是很理想的算法。
我是这样想的,把所有的十位数,转化为求 第一位数不为零的10个数的全排列 。 所以 我是用递归实现的
因为这要列举所有的十位数,所以必需全部循环到,因此运行的时间比较长
代码如下:
int j=0;//全局变量,用于控制第一位数的下标//两个数位置进行交换void swap(int *a,int *b){int temp;temp = *a;*a = *b;*b = temp;}//递归实现全排列void sort(int *list,int k,int n)//list[k..n]的全排列{if( k == n )//输出一个排列{printf("%d ",list[j]);//输出全排列的第一个数for( int i=j+1; i<= n;i++)printf("%d ",list[i]);printf("\n");}else{for( int i=k; i<=n; i++ ){swap(&list[k],&list[i]);//交换两个元素sort(list,k+1,n);swap(&list[k],&list[i]);}}}void main(){// 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 int list[] = {1,2,3,4,5,6,7,8,9,0, 1, 2, 3, 4, 5, 6, 7, 8};for(int i=0; i<8; i++)//全排列的第一个数为list[i]{j=i;sort(list,j+1,9+j);//第 2-10 个数进行全排列}}
- n个数字组成的三位数
- 任意4个数字组成不重复的三位数(且三位数中没有重复数字)
- n个不同的数可组成多少个不同的三位数
- 【C语言】 n个不同的数可组成多少个不同的三位数
- 用1~9的9个数字组成三个三位数,成1:2:3的比例
- 由5个不重复的数字组成的任意不重复三位数
- 组成多少个互不相同且无重复数字的三位数
- 编程实现能组成多少个互不相同且无重复数字的三位数
- 有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数
- 有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数
- 1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数 都是多少
- 1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?
- 有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?
- 有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数
- 有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数。
- [排列组合]不少于n个数字组成的数的统计
- 产生N个字符组成的字符串:数字+字母
- 有1、2、3、4四个数字,能组成多少个互不相同且无重复数字的三位数
- 设计模式的意图、动机
- 算法练习之水题
- IFileOperation interface
- 4_链表栈
- Python的一些扩展库
- n个数字组成的三位数
- 内容页标记(1) -- 手册上有的
- KMP算法
- 基于jquery扩展漂亮的CheckBox
- Leetcode 之 Reverse Linked List II
- ORA-12154 和 TNS-03505 监听错误的解决方法
- 备份数据库
- linux下的init命令
- 约瑟夫问题(Josephus Problem)3:谁最后一个出列