/*
* File: HoanVi.cpp
* Author: NVT
* Email: tiennv@ptitvl.com
* Created on December 6, 2014, 0:45 PM
*/
#include <stdio.h>
//Nội dung bài thi
void HoanViKeTiep(int a[], int n) {
int i = n - 1;
for (i = 0; i <= n; i++) {
a[i] = i;
}
while (i > 0) {
for (i = 1; i <= n; i++) {
printf("%d ", a[i]);
}
i = n - 1;
printf("\n");
while (i > 0 && a[i] > a[i + 1]) {
i--;
}
int j = n;
while (a[j] < a[i]) {
j--;
}
int tg = a[i];
a[i] = a[j];
a[j] = tg;
int l = i + 1;
int r = n;
while (l < r) {
int tg = a[l];
a[l] = a[r];
a[r] = tg;
l++;
r--;
}
}
}
//Nội dung bài Thi
int main() {
int a[10];
HoanViKeTiep(a, 4);
return 0;
}
LyogCiAqIEZpbGU6ICAgSG9hblZpLmNwcAogKiBBdXRob3I6IE5WVAogKiBFbWFpbDogdGllbm52QHB0aXR2bC5jb20KICogQ3JlYXRlZCBvbiBEZWNlbWJlciA2LCAyMDE0LCAwOjQ1IFBNCiAqLwoKI2luY2x1ZGUgPHN0ZGlvLmg+CgovL07hu5lpIGR1bmcgYsOgaSB0aGkKCnZvaWQgSG9hblZpS2VUaWVwKGludCBhW10sIGludCBuKSB7CiAgICBpbnQgaSA9IG4gLSAxOwogICAgZm9yIChpID0gMDsgaSA8PSBuOyBpKyspIHsKICAgICAgICBhW2ldID0gaTsKICAgIH0KICAgIHdoaWxlIChpID4gMCkgewogICAgICAgIGZvciAoaSA9IDE7IGkgPD0gbjsgaSsrKSB7CiAgICAgICAgICAgIHByaW50ZigiJWQgIiwgYVtpXSk7CiAgICAgICAgfQogICAgICAgIGkgPSBuIC0gMTsKICAgICAgICBwcmludGYoIlxuIik7CiAgICAgICAgd2hpbGUgKGkgPiAwICYmIGFbaV0gPiBhW2kgKyAxXSkgewogICAgICAgICAgICBpLS07CiAgICAgICAgfQogICAgICAgIGludCBqID0gbjsKICAgICAgICB3aGlsZSAoYVtqXSA8IGFbaV0pIHsKICAgICAgICAgICAgai0tOwogICAgICAgIH0KICAgICAgICBpbnQgdGcgPSBhW2ldOwogICAgICAgIGFbaV0gPSBhW2pdOwogICAgICAgIGFbal0gPSB0ZzsKICAgICAgICBpbnQgbCA9IGkgKyAxOwogICAgICAgIGludCByID0gbjsKICAgICAgICB3aGlsZSAobCA8IHIpIHsKICAgICAgICAgICAgaW50IHRnID0gYVtsXTsKICAgICAgICAgICAgYVtsXSA9IGFbcl07CiAgICAgICAgICAgIGFbcl0gPSB0ZzsKICAgICAgICAgICAgbCsrOwogICAgICAgICAgICByLS07CiAgICAgICAgfQogICAgfQp9Ci8vTuG7mWkgZHVuZyBiw6BpIFRoaQoKaW50IG1haW4oKSB7CiAgICBpbnQgYVsxMF07CiAgICBIb2FuVmlLZVRpZXAoYSwgNCk7CiAgICByZXR1cm4gMDsKfQo=