Go Back   VN-Zoom forum > Chia sẻ kiến thức > Lập trình > Pascal | C/C++

 


Trả lời
 
Ðiều Chỉnh Xếp Bài
Old 22-05-2008, 20:02   #1
dst
Rìu Sắt Đôi
 
dst's Avatar
 
Tham gia: Mar 2008
Đến từ: Hà Nội
Bài: 272
VZD: 5.687
Điểm: 255/76 bài viết
Default Cần viết hộ một hàm tính căn bậc bất kỳ của một số

Tui đang rất cần một hàm tính căn bậc bất kỳ của một số (bậc 3, bậc 4,...,bậc n). Bác nào viết hộ với, nếu hay tui cảm ơn liền.
dst vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 23-05-2008, 09:04   #2
Rìu Sắt Đôi
 
thienthan's Avatar
 
Tham gia: Nov 2007
Bài: 291
VZD: 4.580
Điểm: 86/69 bài viết
Send a message via Yahoo to thienthan
Default

Ui em ngai code lắm. Anh mới chơi em giờ vẫn tức chưa muốn làm.
Vào đây post cho có bài. Em không spam đâu.

Nói vậy chứ em đang làm dở mấy cái project không tiện code cho anh.

Em nêu phương pháp sơ sơ như sau nhé:

Cách dễ nhất là khảo sát hàm số:
f(x)=x^n ;(^ mũ nhé - tất nhiên trong C thì nó là xor rồi).
Ta tìm nghiệm của phương trình f(x)=0 chính là căn cần tìm rồi.
Ví dụ: ta chọn hai số a, b sao cho f(a)*f(b)<0 thì ta cứ chia nhỏ khoảng ra và lấy khoảng có tích f(a)*f(b)<0 thôi. Càng làm thì a-b càng nhỏ kết quả càng chính xác thế thôi.

Anh có thể dùng thêm nhị thức newton để tối ưu chương trình.

Mà anh không nói ngôn ngữ thì ai mà biết code cho được.
thienthan vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Thành viên đã cám ơn bài viết này của thienthan:
tuanhy764 (22-09-2008)
Old 23-05-2008, 09:58   #3
dst
Rìu Sắt Đôi
 
dst's Avatar
 
Tham gia: Mar 2008
Đến từ: Hà Nội
Bài: 272
VZD: 5.687
Điểm: 255/76 bài viết
Default

Trời đất, tui chẳng hiểu bạn viết cái gì cả! Yêu cầu bạn post lại code hộ cái, bằng ngôn ngữ: C, C++, C#, VB, Java cũng được.
dst vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 23-05-2008, 19:08   #4
Rìu Sắt Đôi
 
thienthan's Avatar
 
Tham gia: Nov 2007
Bài: 291
VZD: 4.580
Điểm: 86/69 bài viết
Send a message via Yahoo to thienthan
Default

Bực lây từ bên kia sang bên đây.
Tức quá đi mất. Viết thì dùng C/CLI rồi còn đâu mà chả đặt lung tung nhưng còn chưa xướng như trên Basic thích đặt đâu cũng được.

PHP Code:
double can(int x)
{
    
double dau=0,cuoi;
    
double tong;
    
double t;
    if (
abs(x)==1) return 1;
    else
        if (
x==0) return 0;
        else 
            if (
abs(x)>1cuoi=x;
            else 
cuoi=1;
    do
    {
        
tong=(dau+cuoi)/2;
        
t=tong*tong;
        if (
t==x) return tong;
        else
            if (
xcuoi=tong;
            else 
dau=tong;
    } while (
dau cuoi 0.000001);
    return 
tong;

Dưới đây là ví dụ hàm tính căn bậc hai đó.
Cho căn bậc n thì tương tự nhé. Bên VB chả viết cái nào cả chỉ có mỗi C-SDK thôi.
thienthan vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 23-05-2008, 19:36   #5
Búa Gỗ
 
quochuyvn's Avatar
 
Tham gia: May 2008
Bài: 18
VZD: 556
Điểm: 5/3 bài viết
Default

hay qua ai ma gioi the
quochuyvn vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 14-07-2008, 00:54   #6
Búa Gỗ Đôi
 
minhngq's Avatar
 
Tham gia: Jul 2008
Bài: 29
VZD: 1.114
Điểm: 10/8 bài viết
Default Tính a^b

Ví dụ = Pascal nè:

function a_Mu_b(a,b : real) : real
begin
a_Mu_b:= exp(b*ln(a));
end;

Khi nào cần tính a^b thì cứ việc gọi hàm này là xong... Nếu muốn tính căn bậc bất kỳ n thì chỉ cần truyền tham số b = 1/n (ví dụ: 1/2, 1/5, 1/10...) là xong.

Chúc vui.
minhngq vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Có 3 thành viên cảm ơn minhngq cho bài viết này:
anhtrungprovn (21-09-2008), dst (14-07-2008), tuanhy764 (22-09-2008)
Trả lời

Ðiều Chỉnh
Xếp Bài

Quyền Sử Dụng Ở Diễn Ðàn
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is Mở
Smilies đang Mở
[IMG] đang Mở
HTML đang Tắt
Trackbacks are Tắt
Pingbacks are Tắt
Refbacks are Tắt
Chuyển đến


Múi giờ GMT +7. Hiện tại là 02:14.


Powered by vBulletin® Version 3.7.3
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
vBCredits v1.4 Copyright ©2007 - 2008, PixelFX Studios
Từ điển được cung cấp bởi VDict.com - Hosting được tài trợ bởi Rao vặt 123