Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 2
Регистрация: 21.01.2013
Сообщений: 107

Разработать класс large

14.12.2013, 17:16. Показов 1162. Ответов 0
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Помогите, решить задачу. Длинную арифметику перечитал уже несколько десятков раз, но все равно не понял. Небольшой исходник по первой части я уже сделал..., а дальше тупик.. В с++ почти ноль.
Разработать класс large – длинное целое. Для хранения одной десятичной цифры использовать одно число типа char. Количество десятичных цифр, которые должны размещаться в этом числе, передавать в конструкторе. Реализовать методы присваивания, сложения двух чисел, печати числа на экране.
Переписать программу вычисления числа Фибоначчи для типа large. Вычислить fn=100 (22 десятичных цифры). Заме-чание: если Вы в прошлый раз использовали рекурсивный алгоритм вычисления чисел Фибоначчи, то теперь Вам необходимо разработать нерекурсивный алгоритм, так как рекурсивное вычисление для n=100 займет слишком много времени.

#include <iostream>
#include <stdlib.h>
long fibonacci(long);
using namespace std;

int main()
{
setlocale(LC_ALL,"Rus");
int i,j=0;
const int n=20;
int a[n];

cout <<"Массив Фибоначии \n"<<endl;
for(i=0;i<=n-1;i++)
a[i]=fibonacci(i);
for(i=0;i<=n-1;i++)
{
cout << '[' << i+1 << ']' << '=' << a[i] <<'\n';
}
return 0;
}

// Recursive definition of function fibonacci
long fibonacci(long n)
{
if (n==0 || n==1) // base case
return n;
else // recursive case
return fibonacci(n-1)+fibonacci(n-2);
}

Добавлено через 1 час 13 минут
Нашел довольно полезный сайт и сделал сам)
Вот может кому понадобится
#include <iostream>
using namespace std;
unsigned fibonacci(long n)
{
if (n < 2)
return n;
unsigned z= 1, m = n;
while (m > 1) {
m >>= 1;
z <<= 1; }
unsigned fn = 1, fn1 = 1, gn, gn1;
while (z > 1) {
z >>= 1;
gn = fn;
gn1 = fn1;
if (n & z) {
fn = gn1 * gn1 + gn * gn;
fn1 = gn1 * gn1 + 2 * gn * gn1;
} else {
fn = 2 * gn * gn1 - gn * gn;
fn1 = gn1 * gn1 + gn * gn; } }
return fn;
}
int main()
{
setlocale(LC_ALL,"Rus");
cout <<"Массив Фибоначчи \n "<<endl;
for (int i = 0; i < 100; i++)
cout << '[' << i+1<< ']' << '=' << fibonacci(i) <<'\n';
return 0;
}
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
14.12.2013, 17:16
Ответы с готовыми решениями:

Разработать класс large – длинное целое
Нужно сделать на курсовик, мозг после java уже потек, а тут Это. Кто может помогите, буду очень благодарен... Разработать класс large –...

Класс: Разработать абстрактный класс класс Point для задания координаты...
Всем привет, помогите пожалуйста решить задачу, я уже всю голову сломал, не знаю как решить... Разработать абстрактный класс класс...

Создать класс СПИСОК целых чисел. Разработать класс СТЕК
&quot;Создать класс СПИСОК целых чисел. Разработать класс СТЕК, который вмещает объект класса СПИСОК. Определить необходимые конструкторы,...

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
14.12.2013, 17:16
Помогаю со студенческими работами здесь

Разработать класс Tableware (посуда) и производный класс Dish (тарелка). Описать атрибуты
Разработать класс Tableware (посуда) и производный класс Dish (тарелка). Описать атрибуты.

Разработать класс Man (человек) и производный класс Student (студент). Описать атрибуты.
Разработать класс Man (человек) и производный класс Student (студент). Описать атрибуты.

Разработать класс для описанных ниже объектов. Включить в класс методы set (.), get (.), show (.)
Разработать класс для описанных ниже объектов. Включить в класс методы set (...), get (...), show (...) Patient: Фамилия, Имя, Отчество,...

Разработать класс Car. Добавить в класс 3 поля...
Разработать класс Car. Добавить в класс 3 поля: марка автомобиля, цвет автомобиля (использовать перечисление), стоимость автомобиля ...

Разработать базовый класс "прямоугольник", производный класс "Окно" и класс-контейнер "Список окон"
Реализовать все задачи в С # WPF 1. Разработать класс прямоугольник, имеющий координаты верхнего левого и нижнего правого угла, цвет...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru