Trang chủ » Diễn Đàn » Lập trình và Phát triển Web » CLB Thuật toán » cho minh hoi 1 ty
Chủ đề đã bị khóa, bạn không thể xóa, sửa hay trả lời trong chủ đề này!
|
|
|---|
|
0
BàiBBB
#include<stdio.h> #include<conio.h> void DICH_CHUYEN(int n,int c1,int c2,int c3) { if(n==1)printf("\n\t%d ->%d",c1,c3); else { DICH_CHUYEN(n-1,c1,c3,c2); DICH_CHUYEN(1,c1,c2,c3); DICH_CHUYEN(n-1,c2,c1,c3); } } void main() { int n,c1=1,c2=2,c3=3; clrscr(); printf("\n cho so dia can chuyen:");scanf("%d",&n); DICH_CHUYEN(n,c1,c2,c3); getch(); } Bài CCC #include<conio.h> #include<iostream.h> #include<process.h> void hn(int n,char a,char b,char c) { if(n==1) { cout<<"\n chuyen 1 dia tu "<<a<<"sang"<<c; cout<<"\n"; } else { hn(n-1,a,c,b); hn(1,a,b,c); hn(n-1,b,a,c); } } void main() { int n; clrscr(); cout<<"nhap vao so dia:"; cin>>n; hn(n,'A','B','C'); getch(); } Mình mún hỏi 1 số câu sau 1.bài BBB và bài CCC phải giai theo đệ quy không?nếu không thì sửa thế nào để thành đệ quy? 2.tại sao phần void DICH_CHUYEN(int n,int c1,int c2,int c3),để int trong () nhằm mục đích gì?nếu ko để dòng int n,int c1,int c2,int c3 trong () thì sua thế nào ? 3.dòng DICH_CHUYEN(n-1,c1,c3,c2); vậy n-1 là sao? Dòng DICH_CHUYEN(1,c1,c2,c3); 1 là sao?tại sao là 1?mà ko phải n-1? Tại sao phải cần đến 3 dòng DICH_CHUYEN(n-1,c1,c3,c2);thứ tự c1 c3 c2 là sao? DICH_CHUYEN(1,c1,c2,c3); tại sao là c1 c2 c3? DICH_CHUYEN(n-1,c2,c1,c3);thứ tự c2 c1 c3 là sao 4. #include<iostream.h> #include<process.h> Lệnh nào trong bài CCC cần iostream.h và process.h? 5.lệnh cout và cin để làm gì??? 6.cho mình xin bài giải tháp hà nội ko đệ quy ,và nếu ko dùng stack với dùng stack thì cái nào ngắn gọn hơn? Mình mới tập làm wen c+ thui mong mọi ng giải thích rõ cho xin cám ơn . |
