![]() |
|
|||||||
|   |
|
|
|
Ðiều Chỉnh | Xếp Bài |
|
|
#1 |
|
Búa Gỗ
![]() Tham gia: Mar 2008
Bài: 15
VZD: 574
Điểm: 0/0 bài viết
|
nhap 2 so nguyen co tu 30 den 100 so .sau do thuc hiẻn phep cong va phep nhan.ai giai giup em voi
![]() ![]() ------ Đề nghị các bạn hãy gõ dấu nhé, đừng Post bài không dấu như vậy ------- thay đổi nội dung bởi: seudaudovn, 01-04-2008 lúc 12:47 |
|
|
|
|
|
#2 |
|
Gà Con
![]() Tham gia: Mar 2008
Bài: 2
VZD: 354
Điểm: 0/0 bài viết
|
bai nay ma cung can giup ha.dung vong lap for la dc ma ban
|
|
|
|
|
|
#3 | |
|
Rìu Vàng
![]() |
cái này dễ mà
nhưng bạn nói Trích:
__________________
<<<Học hành như cá kho tiêu>>> ![]() <<Kho nhiều thì mặn học nhiều thì NGU>>>![]() Nếu thấy bài mình hay thì nhấn CÁm ơn là được rùi ------------------------ MAIL CỦA UI ĐÓ bananaoh729@gmail.com HƯỚNG DẪN SỬ DỤNG DIỄN ĐÀN Mời các bạn vào đây chơi |
|
|
|
|
|
|
#4 |
|
Búa Gỗ
![]() Tham gia: Mar 2008
Bài: 15
VZD: 574
Điểm: 0/0 bài viết
|
ec.may anh hok giai giup con noi deu a.hom nay thay em giai thay loang ngoang lam.thay dung den ca chuỗi nua co .trông hoa cả mắt .
|
|
|
|
|
|
#5 |
|
Búa Gỗ Đôi
![]() Tham gia: Mar 2008
Bài: 35
VZD: 1.443
Điểm: 2/2 bài viết
|
ghi đề kĩ lại chút đi...đề hơi khó hiểu...nếu đây là bản sao(ko thất bản) thì đề mơ hồ quá...
|
|
|
|
|
|
#6 | |
|
Rìu Sắt Đôi
![]() Tham gia: Jan 2008
Bài: 214
VZD: 4.533
Điểm: 96/57 bài viết
|
Trích:
Vì đây là bài toán cộng số lớn ( hay bài toán 1000! cũng tuơng tự ) đòi hỏi số nhập vào được chuyển sang chuỗi sau đó bạn thao tác trên từng ký tự trong chuỗi : vd 123--> xâu 123 67--> xâu 67 (chú ý nên lưu vào xâu số đó theo thứ tự ngược lại để dễ thao tác !) sau đó bạn xây dựng 1 hàm để đọc ký tự số chuyển sang giá trị tuơng ứng ( thực ra là 1 hàm switch( C hoặc C++ ) hoặc case of(với pascal)) Mình viết thử với C : int change(char n) { switch(n) { case 0: return 0;break; case 1:return 1;breal; ... } } Phần còn lại tuơng tự bạn tự viết ! Thực chất là hàm này để đổi từng ký tự trong xâu số vừa nãy của bạn về dạng giá trị ! để sau đó bạn thực hiện công việc sau int a,b,nho=0; hai biến a,b sẽ nhận giá trị trả về từ hàm change ví dụ a=change('1'); sau lệnh này a=1; còn biến nhớ để thực hiện công việc sau Nếu a+b +nho >9 nho=1 nếu không nhớ =0 sau đó bạn xử lý các ký tự kế tiếp trong 2 xâu số nhớ cộng thêm giá trị nhớ này đại lại nên viết thành hàm; Vd nhé : hai số 67 và 89 sau khi chuyển thành xâu sẽ là hai xâu 76 và 89 ( đảo ngược lại ) Sử dụng hàm change trên để lấy giá trị cho a và b đừng quên rằng nếu hai số lệch nhau bạn phải viết các giá trị 0 tuơng ứng ( 123 và 56 thì phải là 123 và 056)) Tiếp nào bắt đầu chạy vòng lặp a nhận giá trị 7, b nhận giá trị 8 vì (a+b +nho=15 >9 ) nên nho=1,viết (a+b-10) vào xâu tong giá trị ! (nho ban đầu =0) Sau đó vòng lặp thứ 2 tiếp tục chạy a=6 và b=8 Lại tiếp tục (a+b+nho>9) thì... Luôn luôn nhớ rằng trong phép cộng 2 số có n chữ số có thể được số có n+1 chữ số nên xâu tong của bạn phải có thể chứa được n+1 ký tự với n là số chữ số lớn nhất trong hai số hạng nhân vào ( trong thí dụ trên n=2) Phần còn lại dễ rồi đúng không ! Mình không giỏi giải thích nên chắc chắn câu cú trên có phần khó hiểu ! Các bạn cứ thắc mắc để mình sửa dần cho dễ hiểu !( Văn tui kém "nắm" toàn 3 thồi )
|
|
|
|
|
|
|
#7 |
|
Rìu Sắt Đôi
![]() |
Chương trình này chỉ tính ít chữ số dùng chuỗi cũng được. Nhưng nếu bạn muốn thực hiện các phép toán siêu việt cơ lớn thì nên dùng mảng số có kiểu thích hợp để tận dụng bộ nhớ và hiệu quả.
Mình thực nghiệm khi làm việc với chuỗi càng dài thì nó càng chậm vậy nên khi tính hệ cơ số 10 có thể dùng kiểu byte cũng tạm rồi mỗi ô đó đem lưu hai chữ số. Bạn cứ cộng bình thường nhé. Ví dụ: 37298... a[0]=37 a[1]=29 bạn cứ tách tương tự như vậy do khi ta nhập dạng chuỗi chuyển sang số thao tác cho nhanh thay đổi nội dung bởi: thienthan, 10-04-2008 lúc 15:34 Lý do: thêm ví dụ |
|
|
|
|
| Ðiều Chỉnh | |
| Xếp Bài | |
|
|