![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
例题
choudan8888
给未来一个机会
展开
-
关于全排列的问题
看下面一个例子给出一个数组 1 2 3列出所有的全排列 1 2 31 3 22 1 32 3 13 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 · 174 阅读 · 0 评论 -
打印一个顺时针增大的矩阵
打印的这个矩阵的实例如下:1 2 3 4 516 17 18 19 615 24 25 20 714 23 22 21 813 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 · 149 阅读 · 0 评论 -
查找二维数组中的数
查找二维数组中的数,二维数组中每一行都按照从左到右递增的顺序,每一列都按照从上到下递增的顺序。思路:既然二维数组中从上到下和从左到右都是递增的,那么我们就找第一行中第一个比查找的数(val)大的数,这个数后面的数一定大于val,这个数下面的数也一定大于val,所有这个数后面就不用查找了,把列的最后一行设置为这个数的这一列。具体代码:int fun(int (*arr)[4], int...原创 2019-04-02 19:02:14 · 437 阅读 · 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 · 2994 阅读 · 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 · 564 阅读 · 0 评论 -
括号生成问题
括号生成需要出现成对的括号(有效的括号)例如:给出n = 3,则生成的结果是[ "((()))", "(()())", "(())()", "()(())", "()()()" ]给定n的值,左边的括号"("数量一定会小于n,当然右边的括号")"数量也一定小于n,左边的值加一,则打印一个"(",右边的值加一,打印一个")",当左括号和右括号的数量等于n时,那就打印...原创 2019-08-01 14:32:09 · 349 阅读 · 0 评论