Программа на Python для уравнения случайности NIST - PullRequest
0 голосов
/ 06 июня 2010

На странице 1789 из этой статьи есть уравнение повторения, и мне нужна помощь в создании программы на python для вычисления pi_i. Я понятия не имею, что здесь происходит.

Другие ссылки: оригинал статьи , страницы (по данным Adobe, а не физические страницы) 43 и 86

изменить, и я уже удалил то, что я написал, потому что все ответы, которые я получил, были 0, хотя все значения были числами с плавающей запятой. я считаю, что я выглядел как код, размещенный ниже

Ответы [ 2 ]

1 голос
/ 06 июня 2010

Вот псевдокод / ​​VBAish ответ:

Function T(i as Integer, n as Integer, m as Integer) As Double

Dim j As Integer, temp As Double

Select Case i
    Case 0
        If n < 1 Then
            n = 1
        Else
            If n < m Then
                T = 2 * T(0,n-1)
            Else
                T = 2 * T(0,n-1) - T(0,n-m-1)
            End If
        End If
    Case 1
        If n < m Then
            T = 0
        Else
            If n = m Then
                T = 1
            Else
                If n = m + 1 Then
                    T = 2
                Else
                    temp = 0
                    For j = -1 to n-m-1
                        temp = temp + T(0,j) * T(0,n-m-2-j)
                    Next j
                    T = temp
                End If
            End If
        End If
    Case 2 to 9999999
        temp = 0
        For j = -1 to n-2*m-i
            temp = temp + T(0,j) * T(i-1,n-m-2-j)
        Next j
        T = T(i-1,n-1) + temp
End Case

End Function
0 голосов
/ 06 июня 2010

вам нужно будет рассчитать промежуточные значения, как описано в статье, а затем зациклить их, чтобы добавить их, где вы видите большие знаки суммирования ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...