bài pascal nay giúp em với
Bắt đầu bởi tuanrint, 01-02-2010 - 17:41
#1
Đã gửi 01-02-2010 - 17:41
Nhập dẫy số, hoán vi các vi tri trong dẫy
Vi du: Nhập a[1]:=1; a[2]:=2;a[3]:=3;
in ra :123
132
213
231
321
312
Thanhs.
Vi du: Nhập a[1]:=1; a[2]:=2;a[3]:=3;
in ra :123
132
213
231
321
312
Thanhs.
#2
Đã gửi 01-02-2010 - 22:28
bài này , lúc trước tớ có 1 người bạn có cách giải = phương pháp khá hay (vì nó đơn giản) nhưng chỉ áp dụng được <18 phần tử với mỗi phần tử là 1 chữ số
đại ý là thế này
lấy vd này chẳng hạn nhé
a[1]=6;a[2]=2;a[3]=8
bạn sắp xếp chúng (tăng giảm gì cũng được
-> (2,6,8)
cho chương trình duyệt từ 268 -> 862 (phần còn lại chắc bạn hiểu phải làm gì ^^)
còn đây là ct quay lui chuẩn
đại ý là thế này
lấy vd này chẳng hạn nhé
a[1]=6;a[2]=2;a[3]=8
bạn sắp xếp chúng (tăng giảm gì cũng được
-> (2,6,8)
cho chương trình duyệt từ 268 -> 862 (phần còn lại chắc bạn hiểu phải làm gì ^^)
còn đây là ct quay lui chuẩn
program lietkehoanvi; var N,m:integer; a,o:array[1..1000] of integer; b:array[1..1000] of boolean; procedure out; var i:integer; begin for i:=1 to N do write(o[i]); end; procedure lietke(n:integer); var i:integer; begin if n=N+1 then out; else for i:=1 to N do if b[i] then begin b[i]:=false; o[n]:=a[i]; lietke(n+1); b[i]:=true; end; end; begin write('nhap so phan tu ');readln(N); for m:=1 to N do begin write('nhap phan tu thu ',m,' ');readln(a[m]); end; lietke(1); readln end.sorry nếu code trên có lỗi (vì tớ code thẳng , không bug ^^)
Bài viết đã được chỉnh sửa nội dung bởi triều: 02-02-2010 - 11:32
TÔI KHÔNG THÔNG MINH, TÔI CHỈ THÍCH ĐƯỢC KHÁM PHÁ
#3
Đã gửi 30-09-2010 - 20:53
uk Bai nay dung thuat toan quay luibài này , lúc trước tớ có 1 người bạn có cách giải = phương pháp khá hay (vì nó đơn giản) nhưng chỉ áp dụng được <18 phần tử với mỗi phần tử là 1 chữ số
đại ý là thế này
lấy vd này chẳng hạn nhé
a[1]=6;a[2]=2;a[3]=8
bạn sắp xếp chúng (tăng giảm gì cũng được
-> (2,6,8)
cho chương trình duyệt từ 268 -> 862 (phần còn lại chắc bạn hiểu phải làm gì ^^)
còn đây là ct quay lui chuẩnprogram lietkehoanvi; var N,m:integer; a,o:array[1..1000] of integer; b:array[1..1000] of boolean; procedure out; var i:integer; begin for i:=1 to N do write(o[i]); end; procedure lietke(n:integer); var i:integer; begin if n=N+1 then out; else for i:=1 to N do if b[i] then begin b[i]:=false; o[n]:=a[i]; lietke(n+1); b[i]:=true; end; end; begin write('nhap so phan tu ');readln(N); for m:=1 to N do begin write('nhap phan tu thu ',m,' ');readln(a[m]); end; lietke(1); readln end.sorry nếu code trên có lỗi (vì tớ code thẳng , không bug ^^)
Thu tuc Try nhu thu tuc liet ke cua ban
#4
Đã gửi 30-09-2010 - 21:06
hung hau ha chi vao tin thui a
bai ma nguoi gui co ten la bboy114crewla cua to thang day
bai ma nguoi gui co ten la bboy114crewla cua to thang day
It is difficult to say what is impossible, for the dream of yesterday is the hope of today and the reality of tomorrow
2 người đang xem chủ đề
0 thành viên, 2 khách, 0 thành viên ẩn danh