Lập trình từ trí tuệ nhân tạo microsoft Bing: Mã hóa số liệu 1 ngày-tháng-năm cụ thể sang chuỗi 3 kí tự

  • Thread starter SA_DQ
  • Ngày gửi
S

SA_DQ

Thành viên Cố vấn - Webketoan Mentors
29/6/05
560
99
28
66
HCM city
DQ Sa: Này bạn Microsoft Bing, bạn có thể mã hóa 1 trị ngày-tháng-năm thành YTN
Khi đó Y - ký tự chỉ năm, như A: năm 2021, B: năm 2022,. . . .
T ký tự hay ký số chỉ tháng như: 9 chỉ tháng 9, tháng 10 là A,. . .
N kí tự hay kí số chỉ ngày, như ngày 11 là B, ngày 12 là C,. . .

Bạn có thể viết 1 hàm VBA để mã hóa như trên khi ta giao cho hàm 1 trị Ngày-Tháng-Năm?
Xin cảm ơn bạn trước

M. Bing:
Tôi có thể giúp bạn viết một hàm VBA để mã hóa ngày-tháng-năm thành chuỗi YTN.
Bạn có thể sử dụng hàm sau:
PHP:
:Sao chép.
Function EncodeDateToYTN(inputDate As Date) As String
Dim yearCode As String
Dim monthCode As String
Dim dayCode As String
 
yearCode = Chr(Asc("A") + Year(inputDate) - 2021)
monthCode = Chr(Asc("A") + Month(inputDate) - 1)
dayCode = Chr(Asc("A") + Day(inputDate) - 1)
 
EncodeDateToYTN = yearCode & monthCode & dayCode
End Function


DQ Sa: Bây giờ thực hiện dùm mình bài toán ngược lại:
Giải mã các kí tự CJG kia thành trị ngày-tháng-Năm bằng 1 hàm VBA!

M. Bing:
Để giải mã chuỗi YTN thành ngày-tháng-năm, bạn có thể sử dụng hàm VBA sau:
Mã:
Function DecodeYTNToDate(encodedString As String) As Date
    Dim yearCode As Integer
    Dim monthCode As Integer
    Dim dayCode As Integer
  
    yearCode = Asc(UCase(Mid(encodedString, 1, 1))) - Asc("A") + 2021
    monthCode = Asc(UCase(Mid(encodedString, 2, 1))) - Asc("A") + 1
    dayCode = Asc(UCase(Mid(encodedString, 3, 1))) - Asc("A") + 1
  
    DecodeYTNToDate = DateSerial(yearCode, monthCode, dayCode)
End Function
 
Khóa học Quản trị dòng tiền
S

SA_DQ

Thành viên Cố vấn - Webketoan Mentors
29/6/05
560
99
28
66
HCM city
DQ Sa: Bạn có thể viết giúp tôi 1 macro (VBA) để đảo thứ tự của 1 từ;
Ví dụ như Toi => ioT hay Em => mE . . . .
Xin cảm ơn bạn nhiều
Microsoft Bing:
Chào bạn, dưới đây là code VBA để đảo ngược thứ tự của một từ:
PHP:
Function ReverseString(str As String) As String
    Dim i As Long
    For i = Len(str) To 1 Step -1
        ReverseString = ReverseString & Mid(str, i, 1)
    Next i
End Function

→ → → oOo ← ← ← → → → oOo ← ← ←→ → → oOo ← ← ← → → → oOo ← ← ←


DQ Sa: Bạn viết giúp tôi 1 hàm VBA để tính giai thừa của 1 số nào đó được không?

Microsoft Bing:
Tất nhiên, dưới đây là code VBA để tính giai thừa của một số:
PHP:
Function Factorial(n As Long) As Long
    If n = 0 Then
        Factorial = 1
    Else
        Factorial = n * Factorial(n - 1)
    End If
End Function
Bạn có thể sử dụng hàm Factorial để tính giai thừa của một số. Chúc bạn thành công!


→ → → oOo ← ← ← → → → oOo ← ← ←→ → → oOo ← ← ← → → → oOo ← ← ←


DQ Sa:
Bài này khó hơn nè M. Bing: Viết giúp tôi 1 macro đảo thứ tự các từ trong 1 mệnh đề
Ví dụ như Toi Yeu Em => ioT ueY mE Cảm ơn bạn nhiều!

Microsoft Bing:
Dưới đây là code VBA để đảo ngược thứ tự các từ trong một mệnh đề:
PHP:
Function ReverseWords(str As String) As String
    Dim arr() As String
    arr = Split(str, " ")
    Dim i As Long
    For i = LBound(arr) To UBound(arr)
        ReverseWords = ReverseWords & StrReverse(arr(i)) & " "
    Next i
End Function
Bạn có thể sử dụng hàm ReverseWords để đảo ngược thứ tự các từ trong một mệnh đề. Chúc bạn thành công!
 
Sửa lần cuối:
S

SA_DQ

Thành viên Cố vấn - Webketoan Mentors
29/6/05
560
99
28
66
HCM city
DQ Sa: Số Fibonacci là gì & tính như thế nào?

Microsoft Bing:
Số Fibonacci là một chuỗi số trong đó mỗi số là tổng của hai số trước đó. Chuỗi này bắt đầu bằng hai số 0 và 1, sau đó các số tiếp theo được tính bằng cách cộng hai số trước đó. Ví dụ: 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, … .

Nếu bạn muốn tính số Fibonacci thứ n, bạn có thể sử dụng hàm đệ quy hoặc vòng lặp trong VBA. Hãy cho tôi biết nếu bạn muốn tìm hiểu thêm về cách tính số Fibonacci bằng hàm đệ quy hoặc vòng lặp.

Dưới đây là một ví dụ về cách tính số Fibonacci bằng vòng lặp trong VBA:
PHP:
Function Fibonacci(n As Integer) As Integer
    Dim i As Integer
    Dim a As Integer: a = 0
    Dim b As Integer: b = 1
    
    If n = 0 Then
        Fibonacci = a
    ElseIf n = 1 Then
        Fibonacci = b
    Else
        For i = 2 To n
            Fibonacci = a + b
            a = b
            b = Fibonacci
        Next i
    End If    
End Function
 
S

SA_DQ

Thành viên Cố vấn - Webketoan Mentors
29/6/05
560
99
28
66
HCM city
DQ Sa:
PHP:
Sub TramTrauTramCo()
  Dim TrauDung As Integer, TrauNam As Integer
  Dim TrauHuuTri As Integer
 
  For TrauDung = 0 To 20
    For TrauNam = 1 To 34
        TrauHuuTri = 100 - (TrauDung + TrauNam)
        ' 5*TrauDung + 3*TrauNam + TruHuuTri/3 = 100 '
        ' TrauHuuTri  = 300 - 15*TrauDung - 9*TrauNam  '
        If 300 - 15 * TrauDung - 9 * TrauNam = TrauHuuTri Then
            MsgBox "Trâu Dúng: " & TrauDung & Chr(10) & "Trâu Nàm: " & TrauNam _
                & Chr(10) & "Trau Huu Trí: " & TrauHuuTri
        End If
    Next TrauNam
  Next TrauDung
 End Sub
Bạn Bing hãy giúp tôi phân tích macro trên.

M. Bing:
Cảm ơn bạn đã chia sẻ macro VBA để giải bài toán cổ “Trăm trâu trăm cỏ; Trâu đứng ăn 5; Trâu nằm ăn 3; Trâu già lụm khụm 3 con 1 bó?” .
Macro này sử dụng vòng lặp For để tìm kiếm các giá trị của số lượng trâu đứng và trâu nằm thỏa mãn điều kiện trong hệ phương trình đã cho.
Nếu tìm thấy một cặp giá trị thỏa mãn, macro sẽ hiển thị kết quả bằng hộp thoại MsgBox .
Hy vọng giúp được bạn!
 
Sửa lần cuối:

Xem nhiều

Webketoan Zalo OA