n个数字的不同排列有n!个,要求将这些排列组成的数,按从小到大的顺序进行排列

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

namespace One_two {

/*   * 2、编写一个控制台应用程序,要求完成下列功能。

* 接收一个整数n。

* 如果接收的值n为正数,输出1到n间的全部整数。

* 如果接收的值为0或负值,用break或者return退出程序。

* 转到第一步继续接收下一个整数。

* */

class Program

{

  private static string[] strLen = new string[24];

  private static int t = 0;

  static void Main()

  {

    string s = "1234";

    char[] add = s.ToCharArray();

    pai(ref add, 0, s.Length);

    int[] tt = new int[24];

    int x = 0;

    foreach (string ttt in strLen)

    {

      tt[x++] =Convert.ToInt16(ttt);

    }

    for (int i = 0; i < 24; i++)

    {

      for (int j = i+1; j < 24; j++)

      {

        if (tt[i] > tt[j])

         {

            int temp = tt[i];

            tt[i] = tt[j];

            tt[j] = temp;

         }

      }

    }

    foreach (int c in tt)

    {

      Console.WriteLine(c);

    }

    Console.ReadLine();

 }

  //递归

  private static void pai(ref char[] str, int m, int n)

  {

    if (m < n)

    {

      for (int i = 0; i <= m; i++)

      {

         pai(ref str, m + 1, n);

         chang(ref str, m);

      }

    }

    else

    {

      strLen[t++] = new string(str);

    }

  }

//移位

  private static void chang(ref char[] str, int m)

  {

    char temp = str[0];

    for (int i = 0; i < m; i++)

    {

str[i] = str[i + 1];

     }

str[m] = temp;

}

}

}

时间: 2024-10-19 22:18:01

n个数字的不同排列有n!个,要求将这些排列组成的数,按从小到大的顺序进行排列的相关文章

C 输入一串数字,去掉其中含7的和能被7整除的数

C 输入一串数字,去掉其中含7的和能被7整除的数,每个数小于10000,数字个数小于100 输入例子:1,7,56,77,87,2,45,42,97,9977 输出:1,2,45 注意:输入个数不确定,所以不能够用整形数组处理,不能以判断整形数组元素是否等于\n为结束,因为数组是整形的,\n是字符型的,是输入不进去的 所以要用字符串来处理,先把用逗号相隔的所有整数取出来,然后再对这些数进行判断输出 #include<stdio.h> #include<string.h> void

小易邀请你玩一个数字游戏,小易给你一系列的整数。你们俩使用这些整数玩游戏。每次小易会任意说一个数字出来,然后你需要从这一系列数字中选取一部分出来让它们的和等于小易所说的数字。 例如: 如果{2,1,2,7}是你有的一系列数,小易说的数字是11.你可以得到方案2+2+7 = 11.如果顽皮的小易想坑你,他说的数字是6,那么你没有办法拼凑出和为6 现在小易给你n个数,让你找出无法从n个数中选取部分求和

小易邀请你玩一个数字游戏,小易给你一系列的整数.你们俩使用这些整数玩游戏.每次小易会任意说一个数字出来,然后你需要从这一系列数字中选取一部分出来让它们的和等于小易所说的数字. 例如: 如果{2,1,2,7}是你有的一系列数,小易说的数字是11.你可以得到方案2+2+7 = 11.如果顽皮的小易想坑你,他说的数字是6,那么你没有办法拼凑出和为6 现在小易给你n个数,让你找出无法从n个数中选取部分求和的数字中的最小数. 输入描述: 输入第一行为数字个数n (n ≤ 20) 第二行为n个数xi (1

C 输入一串数字,去掉当中含7的和能被7整除的数

C 输入一串数字,去掉当中含7的和能被7整除的数,每一个数小于10000,数字个数小于100 输入样例:1,7,56,77,87,2,45,42,97,9977 输出:1,2,45 注意:输入个数不确定.所以不可以用整形数组处理.不能以推断整形数组元素是否等于\n为结束,由于数组是整形的.\n是字符型的,是输入不进去的 所以要用字符串来处理,先把用逗号相隔的全部整数取出来,然后再对这些数进行推断输出 #include<stdio.h> #include<string.h> void

编写一个函数,计算三个数字的大小,按从小到大的顺序输出。

[超简单的三人之间数据交换] 挺像魔术师扔球球,魔术师扔球球,魔术师扔球球,魔术师扔球球,你说像不像~~~~~~~~~~像不像~~~~~~·像不像 1 //编写一个函数,计算三个数字的大小,按从小到大的顺序输出. 2 function order(a,b,c) { 3 var temp; 4 var str; 5 if (a>b) { 6 temp = a ; 7 a = b ; 8 b = temp ; 9 } 10 if (b>c) { 11 temp = b; 12 b = c ; 13

统计指定数字的个数,并将其按权值10的次方数相加

题目描述: 正整数A的"DA(为一位整数)部分"定义由A中所有DA组成新的整数PA.例如,给定A=3862767,DA=6,则A的"6部分"PA是66,因为A中有2个6 现给定:A.DA.B.DB,请编写程序计算PA+PB 输入描述: 输入在一行中依次给出A.DA.B.DB,中间以空格分隔,其中0<A,B<1010 输出描述: 在一行中输出PA+PB的值 如图,就是查询第一个整数中6的个数,2,再变成66:查询第二个整数3的个数,3,再变成333 再相加

ACM 求全排列(字典序、邻位对换、递增进位制数,递减进位制数)

字典序:(联合康托展开就也可以按照中介数求) 邻位对换.递增进位制数,递减进位制数:具体的实现和算法讲解如下: 代码..C++版的实现并不好..因为是挨个向后找的,如果K很大的时候会超时,不过...思路是这样...,第二版C++没有完成...因为不想写了,思路很简单,一次加减K就可以了 python代码直接给出,很完美 1 #include<cstdio> 2 #include<cstring> 3 #include<vector> 4 #include<algo

Html5添加自动排列图片的jquery响应式图片排列插件教程

一.引入JS文件 <script src="path/to/jquery.min.js" > <script src="path/to/jquery.row-grid.min.js" > 二.Html结构 <div class="container"> <div class="item"> <img src="path/to/image" width=&

输出所有和为S的连续正数序列。序列内按照从小至大的顺序,序列间按照开始数字从小到大的顺序

import java.util.*; public class Solution { public ArrayList<ArrayList<Integer> > FindContinuousSequence(int sum) { if(sum < 0){ return null; } ArrayList<ArrayList<Integer>> list = new ArrayList<ArrayList<Integer>>()

java面试题001

hibernate中离线查询去除重复项怎么加条件?? dc.setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY); http协议及端口,smtp协议及端口 http:超文本传输协议    端口 80 smtp:简单邮件传输协议 端口25 编写程序,完成文件复制功能 Servlet创建过程及生命周期Servlet 在容器中运行时,其实例的创建及销毁等是由容器进行控制. Servlet 的创建有两种方法. 客户端请求对应的 Servlet 时,创建