Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / факториал / 5 сообщений из 5, страница 1 из 1
13.07.2006, 10:45:00
    #33850061
sv_2006
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
факториал
Пожайлуста помогите разобраться. Почему функция выдает неизвестное значение?

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
Public Const n As Integer =  10  ' количество чисел
Function КВ2(перв_число, втор_число)

 Count = Fact(n) / (Fact( 2 ) * Fact(n-  2 ))


КВ2 = Count

End Function

Function Fact(m As Integer)
    If n <  1  Then
        Fact =  1 
    Else
        Fact = Fact(m -  1 ) * m
    End If
End Function

...
Рейтинг: 0 / 0
13.07.2006, 10:55:48
    #33850107
parteigenosse
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
факториал
вы бы поосторожнее с рекурсией, имхо количество ограничено, и довольно небольшим числом, забыл каким именно. Хотя у вас основание 10, не должно мешать
...
Рейтинг: 0 / 0
13.07.2006, 11:05:07
    #33850148
sv_2006
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
факториал
parteigenosseвы бы поосторожнее с рекурсией, имхо количество ограничено, и довольно небольшим числом, забыл каким именно. Хотя у вас основание 10, не должно мешать

это я понимаю, что с рекурсией надо быть осторожным.

Какой тогда есть другой путь?

Может есть уже готовые пакетные функции?

Помогите пожайлуста
...
Рейтинг: 0 / 0
13.07.2006, 12:18:40
    #33850447
Valer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
факториал
а зачем рекурсия вообще ?
чем плох цикл :

factor=1
for ii=2 to m
factor=factor * ii
next
...
Рейтинг: 0 / 0
14.07.2006, 17:45:37
    #33854923
k-nike
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
факториал
sv_2006Пожайлуста помогите разобраться. Почему функция выдает неизвестное значение?

Здесь вместо n < 1 нужно m < 1
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
Function Fact(m As Integer)
    If n <  1  Then
        Fact =  1 
    Else
        Fact = Fact(m -  1 ) * m
    End If
End Function

А это я вообще не понял:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
Public Const n As Integer =  10  ' количество чисел
Function КВ2(перв_число, втор_число)

 Count = Fact(n) / (Fact( 2 ) * Fact(n-  2 ))


КВ2 = Count

End Function
...
Рейтинг: 0 / 0
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / факториал / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]