![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
例题
choudan8888
给未来一个机会
展开
-
关于全排列的问题
看下面一个例子 给出一个数组 1 2 3 列出所有的全排列 1 2 3 1 3 2 2 1 3 2 3 1 3 2 1 3 1 2 这就是全排列 思路: T=【x1,x2,x3,x4,x5,……..xn−1,xn】 我们获得了在第一个位置上的所有情况之后(注:是所有的情况),对每一种情况,抽去序列T中的第一个位置,那么对于剩下的序列可以看成是一个全新的序列 T1=【x2,x3,x...原创 2019-07-24 20:28:54 · 172 阅读 · 0 评论 -
打印一个顺时针增大的矩阵
打印的这个矩阵的实例如下: 1 2 3 4 5 16 17 18 19 6 15 24 25 20 7 14 23 22 21 8 13 12 11 10 9 代码如下: int a[10][10]; void fun(int n) { int m = 1; int j, i; for (i = 0; i < n / 2 ; i++) { for (j = 0;...原创 2019-04-19 20:21:53 · 141 阅读 · 0 评论 -
查找二维数组中的数
查找二维数组中的数,二维数组中每一行都按照从左到右递增的顺序,每一列都按照从上到下递增的顺序。 思路:既然二维数组中从上到下和从左到右都是递增的,那么我们就找第一行中第一个比查找的数(val)大的数,这个数后面的数一定大于val,这个数下面的数也一定大于val,所有这个数后面就不用查找了,把列的最后一行设置为这个数的这一列。 具体代码: int fun(int (*arr)[4], int...原创 2019-04-02 19:02:14 · 427 阅读 · 0 评论 -
关于最大公约数和最小公约数
1.求最大公约数,当然最大公约数是小于他们中任何一个数。输出两个数m,n,从1开始判断,判断是否能被m,n同时整除,最大公约数是能同时被两个数整除。 #include<stdio.h> void GreatestComDiv(int m,int n) { int t; for(int i=1;i<=m;i++) { if(m%i==0&&n%i...原创 2018-03-17 21:03:35 · 2986 阅读 · 0 评论 -
关于逆序输出n的每一位
1.给出一个数n,从个位丢弃 对n进行除以10操作,并将其赋值给下一次除以10操作的n,每进行一次操作,计数器加1,直至n为0.统计输出计数器的个数为这个数字的位数 eg :对123进行求位数计算则先将123/10=12,12/10=1,1/10=0,即n=3; #include<stdio.h> int Figure(int n){int c...原创 2018-03-17 20:47:13 · 561 阅读 · 0 评论 -
括号生成问题
括号生成需要出现成对的括号(有效的括号) 例如:给出n = 3,则生成的结果是 [ "((()))", "(()())", "(())()", "()(())", "()()()" ] 给定n的值,左边的括号"("数量一定会小于n,当然右边的括号")"数量也一定小于n,左边的值加一,则打印一个"(",右边的值加一,打印一个")",当左括号和右括号的数量等于n时,那就打印...原创 2019-08-01 14:32:09 · 338 阅读 · 0 评论