em nghĩ là đề đúng chứ có sai đâu :
1*3^3+(-1)*3^2+0*3+1=19
em nghĩ là đề đúng chứ có sai đâu :
1*3^3+(-1)*3^2+0*3+1=19
Cách làm của ktvnguyenchien em không hiểu lắm. Còn cách của bete thì em hiểu, em cảm ơn.
Đề nè:
Đúng nè:Hãy viết chương trình nhập vào 1 số và in ra số đó có các chữ số là 0,-1,1
Ex : 19=1*3^3+(-1)*3^3+0*3^2+1*3=1-101(hệ cơ số 3 mới).
Hai công thức khác nhau hẳn ...hix đọc kỹ hãy nói nha...em nghĩ là đề đúng chứ có sai đâu :
1*3^3+(-1)*3^2+0*3+1=19
Pascal là ngôn ngữ thể hiện thuật toán và thuật giải. Với 1 bài toán thì có nhiều cách giải, nhưng để có được thuật toán hoặc thuật giải tối ưu mới là vấn đề.
Xin thắc mắc 1 chút với bạn ktvnguyenchien:
19 có thể biểu diễn như là 201 ở hệ cơ số 3 vì:
19 = 2*(3^2) + 0*(3^1) + 1*(3^0)
Tuy nhiên nếu chỉ đơn giản thay 2 bằng -1:
(-1)*(3^2) + 0*(3^1) + 1*(3^0) = -8
=> 19 không thể biểu diễn là (-1)01 ở hệ cơ số mới như đề bài yêu cầu !
Tương tự
(-1)*(3^2)+0*(3^1)+(-1)*(3^0) = -10
=> không thể biểu diễn diễn 20 như là (-1)0(-1)
(-1)*3^2+(-1)*3^1+1*3^0 = -11
=> không thể biểu diễn 25 như là (-1)(-1)1
Tui nghĩ như vầy:
20 = 6*3 + 2 = 7*3 + (-1)
7 = 2*3 + 1
2 = 0*3 + 2 = 1*3 + (-1)
=> biểu diễn 20 như là 1(-1)1(-1)
Thử lại: 1*(3^3) + (-1)*(3^2) + 1*(3^1) + (-1)*(3^0) = 20
25 = 8*3 + 1
8 = 2*3 + 2 = 3*3 + (-1)
3 = 1*3 + 0
=> biểu diễn 25 như là 10(-1)1
Thử lại: 1*(3^3) + 0*(3^2) + (-1)*(3^1) + 1*(3^0) = 25
Tóm lại nếu mình muốn biểu diễn với 3 ký số 0, -1, và 1 thì ở tại mỗi bước: phép chia phải có số dư là 0 hoặc -1 hoặc 1
Ví dụ: 14 = 4*3 + 2 => phép chia 14 cho 3 có số dư là 2
Không thể chỉ đơn giản thay số dư 2 bằng (-1) vì 4*3 + (-1) = 11
Mà phải làm: 14 = 5*3 + (-1)
Như vậy ở bước kế mình phải xét 5 chia 3 chớ không thể xét 4 chia 3
(có gì sai sót mong được góp ý, xin cám ơn)
-thân
Được sửa bởi bete lúc 10:00 ngày 06-08-2007
xin chào chương trình DDTh tôi rất vui khi dược tham gia vao chương trình
MỌi NgƯỜi Ui Co SÁch LẬp TrÌnh Hay Ko Cho MÌnh VỚi
Cmr Oem MỌi NgƯỜi Nha!
toi moi hoc pascal naen it tai lieu cac ban co the giup toi duoc khong
bai nay de lem
Tu lam di ban
Em mới vào nên chưa hiểu biết nhiều lắm
Cho em hỏi 1 bài nhỏ nhỏ (nhưng em chưa biết cách làm): cắt xâu trên danh sách móc nối 2 chiều, sau đó sắp xếp.
Các thuật toán sắp xếp, cắt phần tử trên mảng, xâu thì không khó, nhưng dùng trên danh sách móc nối (data link thì phải) thì em chưa biết dùng. Các anh chỉ em với!
Bookmarks