Tboy Cá voi
Tổng số bài gửi : 178 Cảm ơn : 413 Danh vọng : 4 Join date : 03/01/2011 Age : 32 Đến từ : TPHCM
| Tiêu đề: Liệt kê các hoán vị - (Phương pháp sinh) Fri May 13, 2011 2:48 pm | |
| | Fri May 13, 2011 2:48 pm Liệt kê các hoán vị - (Phương pháp sinh) | | | Lập trình liệt kê các hoán vị của {1,2,3...,n} theo thứ tự từ điển Ví dụ: n=3 ta liệt kê 6 hoán vị: 123 132 213 231 312 321 - Code:
-
#include <stdio.h> #include <conio.h> #define MAX 8 void Hoandoi(int &A,int &B); void main() { int x[MAX],a,b,n,i,k,dem=1; //===========Nhap do { printf("Nhap so n ( 0<n<%d): ",MAX); scanf("%d",&n); }while(n<1||n>MAX); //===========Xuat for( i=0;i<n;i++) x[i]=i+1; while(i>=0) { printf("%2d. ",dem++); for(i=0;i<n;i++) printf("%d",x[i]); printf("\n"); i=n-2; while(i>=0&&x[i]>x[i+1]) i--; if(i>=0) { k=n-1; while(x[k]<x[i]) k--; Hoandoi(x[k],x[i]); a=i+1; b=n-1; while(a<b) Hoandoi(x[a++],x[b--]); } } getch(); } void Hoandoi(int &A,int &B) { int temp=A; A=B; B=temp; } Tboy
| | | | | |
|
love_stormHL Gà choai
Tổng số bài gửi : 20 Cảm ơn : 22 Danh vọng : 0 Join date : 02/03/2011 Age : 34 Đến từ : Vũng Tàu
| Tiêu đề: Re: Liệt kê các hoán vị - (Phương pháp sinh) Sat May 14, 2011 12:30 am | |
| |
|
Tboy Cá voi
Tổng số bài gửi : 178 Cảm ơn : 413 Danh vọng : 4 Join date : 03/01/2011 Age : 32 Đến từ : TPHCM
| Tiêu đề: Re: Liệt kê các hoán vị - (Phương pháp sinh) Sat May 14, 2011 3:04 pm | |
| |
|
Sponsored content
| Tiêu đề: Re: Liệt kê các hoán vị - (Phương pháp sinh) | |
| | Re: Liệt kê các hoán vị - (Phương pháp sinh) | | | | | | | | |
|