Hi all!
Mình đang cần một hàm để tính dạng: X^n + X^(n-1) + X^(n-2) + ... + X^0
Tức là hàm cộng tổng với X không đổi, còn số mũ n giảm dần.
Cao thủ nào có thời gian xin vui lòng giúp đỡ mình với ^^
Thanks a bundle
Function luythua(x As Double, n As Integer) As Double
Dim lt As Double
lt = 1
For i = 1 To n
lt = lt * x
Next i
luythua = lt
End Function
Function Tinhtong(x As Double, n As Integer) As Double
Dim tongLT As Integer
Dim i As Integer
tongLT = 0
For i = n To 0 Step -1
tongLT = tongLT + luythua(x, i)
Next i
Tinhtong = tongLT
End Function
Hi all!
Mình đang cần một hàm để tính dạng: X^n + X^(n-1) + X^(n-2) + ... + X^0
Tức là hàm cộng tổng với X không đổi, còn số mũ n giảm dần.
Cao thủ nào có thời gian xin vui lòng giúp đỡ mình với ^^
Thanks a bundle
=1+SUM(POWER(A1,ROW(INDIRECT("1:"&A2)))
Bạn có thể dùng đệ quy để giải quyết bài toán trênHi all!
Mình đang cần một hàm để tính dạng: X^n + X^(n-1) + X^(n-2) + ... + X^0
Tức là hàm cộng tổng với X không đổi, còn số mũ n giảm dần.
Cao thủ nào có thời gian xin vui lòng giúp đỡ mình với ^^
Thanks a bundle
Function luythua(x As Double, n As Integer) As Double
If (n = 0) Then
luythua = 1
Exit Function
End If
luythua = x * luythua(x, n - 1)
End Function
Function Tinhtong(x As Double, n As Integer) As Double
If (n = 0) Then
Tinhtong = 1
Exit Function
End If
Tinhtong = luythua(x, n) + Tinhtong(x, n - 1)
End Function
Thế sao không viết vầy cho gọnBạn có thể dùng đệ quy để giải quyết bài toán trên
Function luythua(x As Double, n As Integer) As Double
If (n = 0) Then
luythua = 1
Exit Function
End If
luythua = x * luythua(x, n - 1)
End Function
Function Tinhtong(x As Double, n As Integer) As Double
If (n = 0) Then
Tinhtong = 1
Exit Function
End If
Tinhtong = luythua(x, n) + Tinhtong(x, n - 1)
End Function
Function Tinhtong(x As Double, n As Long) As Double
Dim i As Long
For i = 0 To n
Tinhtong = Tinhtong + x ^ i
Next
End Function
Với công thức này có vài chỗ chưa đúng:Thử cái này nhé: A1 là số X, A2 là số mũ:
Kết thúc bằng Ctrl-shift-enterPHP:=1+SUM(POWER(A1,ROW(INDIRECT("1:"&A2)))
=SUMPRODUCT(A1^(ROW(INDIRECT("1:"&A2+1))-1))
Hình như trong VBA nó định nghĩa 0^0 bằng 1. Có lẽ thêm một hàm kiểm tra khi X = 0 và n = 0 thì kết quả sẽ chính xác hơn.Thế sao không viết vầy cho gọn
Cần gì phải thông qua 1 hàm phụ chứ?PHP:Function Tinhtong(x As Double, n As Long) As Double Dim i As Long For i = 0 To n Tinhtong = Tinhtong + x ^ i Next End Function
Uh nhỉ! Đi lòng vòng mà quên mất hằng đẳng thức:Theo công thức toán học thì
Nếu x=1 thì A=x^0+x^1+...+X^n=1+1+...+1=n+1
Nếu x<>1 thì A=(x^(n+1)-1)/(x-1)
do đó công thức sẽ là:
IF(x=1,n+1,(x^(n+1)-1)/(x-1))
Hi all!
Mình đang cần một hàm để tính dạng: X^n + X^(n-1) + X^(n-2) + ... + X^0
Tức là hàm cộng tổng với X không đổi, còn số mũ n giảm dần.
Cao thủ nào có thời gian xin vui lòng giúp đỡ mình với ^^
Thanks a bundle