Привет всем! в понедельник сдавать проект по информатике за пол года, пишу на с++ builder. Проект решает линейные системы, работает с бином Ньютона, ну и там по мелочевке(ортогонализация векторов, и ещё пару вещей). Так вот показывал преподу(я первый курс на ИТ, республика Молдова) и он сказал, что на 10 мало- раз, и ввел сочетания из 1000000 по 999999, или что то в этом роде, может на пару разрядов выше и прога выдала exception. Обрабатывать исключения не умею раз, а он затребовал чтобы считала 10-15 значные числа, сказал, что можно сделать подобное и без длиной арифметики. Я не знаю как, сам вроде нашёл реккурсивную формулу, так что должна вроде использовать данный long-ом диапозон на максимум, вот код функции:
| Код | double sochet(int k,int n) { if (k==0) return 1; else return (sochet(k-1,n)*(n-k+1))/k; }
|
Помогите, если знаете про подобное, длинную арифметику с произведением не осилю до понедельника, так как ещё надо написать пару-троику функции в проекте объёмных, дооформлять и готовиться к экзамену на вторник, оставил на последний день, виноват, выручайте пожалуйста |