1234,四个不同的数字组成多少种不同的数
2016-04-02 22:23
666 查看
1234,四个不同的数字组成多少种不同的数
java语言
public class Quanpailie {static int t=0;//来记录多少不同的数public static void swap(int a[] ,int n,int m){//前后交换int temp=a[m];a[m]=a;a=temp;}public static void perm(int[] a, int begin, int end) {if (begin == end) {for (int i = 0; i <= end; i++) {System.out.print(a[i]);}System.out.println();t++;return;}elsefor(int j=begin;j<=end;j++){swap(a, begin, j);perm(a, begin+1, end);swap(a, begin, j);}}public static void main(String[] args) {int[] a={1,2,3,4};perm(a, 0, a.length-1);System.out.println("共有"+t+"中排列方式");}}
结果:
C++语言解决
// Pailie.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include <iostream>using namespace std;int t = 0;int a[4] = { 1, 2, 3, 4 };void swap(int n, int m);void perm(int begin, int end);int main(){perm(0,3);cout <<"共有"<< t <<"种不同的数"<< endl;system("pause");return 0;}void swap(int n, int m){int temp;temp = a[m];a[m] = a;a= temp;}void perm(int begin, int end){if (begin == end){for (int i = 0; i <= end; i++){cout << a[i];}cout << "\n";t++;return;}else{for (int i = begin; i <=end; i++){swap(begin,i);perm(begin + 1, end);swap(begin, i);}}}
结果:
相关文章推荐
- lintcode:Wiggle Sort II
- 【java集合框架源码剖析系列】java源码剖析之HashMap
- eSpeak: Linux文本转语音工具
- Linux优化-Preempt RT关键点
- Android常见问题集锦
- GitHub 上排名前 100 的 Android 开源库介绍
- Android应用自动更新功能的代码实现
- Python Thread
- 【java集合框架源码剖析系列】java源码剖析之HashMap
- leetcode 19.Remove Nth Node From End of List
- wamp虚拟主机配置
- [转] Mac OX上安装MongoDb
- uva 401.Palindromes
- 当tableview/scrollview滚动时定时器NSTimer / CADisplayLink停止响应问题
- 推荐一个GitHub上的软件工程师的面试题库
- 如何获取Activity的实例
- 20160402_C++中的内存对齐
- C++test临时缓存文件位置 — Windows
- HDU1159 && POJ1458:Common Subsequence(LCS)
- 程序员面试宝典