Em đang làm bài báo cáo toán muốn nhờ mọi người chuyển yêu cầu sau thành 1 chương trình
Thuật toán sinh ra các hoán vị gồm các bước:
B1:[Khởi tạo chuỗi] Đặt si=i(với i=1,2………n).
B2:[Xuất hoán vị đầu tiên]Xuất choỗi s=s1s2….sn.
B3:[Lặp]với mỗi i=2,3……,n!thực hiện các bước sau:
3.1:Tìm chỉ số lớn nhất thỏa mãn sm<sm+1
3.2:Tìm chỉ số lớn nhất k thỏa mãn sk>sm
3.3:Hoán vị hai phần tử sm và sk
3.4:Đảo ngược thứu tự của các phần tử sm+1,….sn.
3.5:Xuất s.
Mình muốn nhờ mọi người code trên càng nhiều ngôn ngữ càng tốt(Pascal,C#,C,C++…).Mình muốn chứng minh rằng toán rời rạc có thể áp dụng vào tin học rất nhiều.
Cảm ơn mọi người rất nhiều