Итак, я должен исправить рекурсивную функцию, которая будет считать количество «1» в любом заданном числе. Для этой части мне удалось создать функцию, которая преобразует десятичную в двоичную форму:
if dec = 0 then 0
else dec mod 2 + 10 *f(dec/2)
;;
, но я не знаю, как заставить программу проверять каждую цифру и даже подсчитывать нужные.
И я должен исправить функцию, которая должна вычислить сумму ряда 1 / (n!). Опять же, я пытался часами, но лучшее, что я мог сделать, было:
if n <= 1. then 1.
else 1./.(n*.e(n-.1.)) +. (e(n-.1.))
;;
, который не работает должным образом, потому что я предполагаю, что формула не верна.
Может кто-нибудьПомоги мне? ; -;Пожалуйста, я хочу понять, как это работает.