Модераторы: Daevaorn

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Подскажите, как обращаться с большими числами 
V
    Опции темы
andrew_121
Дата 13.6.2008, 16:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодофей
****


Профиль
Группа: Завсегдатай
Сообщений: 3448
Регистрация: 3.1.2008

Репутация: 6
Всего: 33



Вот такой вариант нашел:
Код

// фукнция получения НОД
int NOD(int a, int b)
{
// пока числа не равны 0
while(a!=0 && b!=0)
{
if(a>=b) a=a%b;
else b=b%a;
}
return a+b; // Одно - ноль
}




--------------------
Удалил аккаунт. Прощайте!
PM MAIL   Вверх
Splendid
Дата 13.6.2008, 16:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 256
Регистрация: 1.8.2007
Где: Беларусь, Минск

Репутация: нет
Всего: нет



andrew_121, ага, спасибо. Тока это ж ничего не меняет - все равно он не для больших чисел
PM MAIL   Вверх
andrew_121
Дата 13.6.2008, 16:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодофей
****


Профиль
Группа: Завсегдатай
Сообщений: 3448
Регистрация: 3.1.2008

Репутация: 6
Всего: 33



Вот что:
Код

#include <iostream>
#include "big_number.h"
//#include "big_number.cpp"
using namespace std;

int main()
{
big_number a, b, c;    
char i[20]={0x23,0x34,0x45,0x67};
big_input(i,1,4,&a);
char j[20]={0x23,0x34,0x45,0x67};
big_input(j,1,4,&b);
    cout << (big_GCD(a,b,&c)) << endl;
    
    cin.get();
    cin.get();

    return 0;
}



--------------------
Удалил аккаунт. Прощайте!
PM MAIL   Вверх
Splendid
Дата 13.6.2008, 16:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 256
Регистрация: 1.8.2007
Где: Беларусь, Минск

Репутация: нет
Всего: нет



тогда так::(
Код

big.obj : error LNK2001: unresolved external symbol "long __cdecl big_GCD(struct big_number,struct big_number,struct big_number *)" (?big_GCD@@YAJUbig_number@@0PAU1@@Z)
big.obj : error LNK2001: unresolved external symbol "long __cdecl big_input(void const *,long,long,struct big_number *)" (?big_input@@YAJPBXJJPAUbig_number@@@Z)
Debug/big.exe : fatal error LNK1120: 2 unresolved externals

PM MAIL   Вверх
georain
Дата 13.6.2008, 16:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 193
Регистрация: 28.11.2006
Где: Санкт-Петербург

Репутация: нет
Всего: нет



Цитата(Splendid @  13.6.2008,  15:56 Найти цитируемый пост)
big.exe - обнаружена ошибка. Приложение будет закрыто. Приносим извинения за неудобства.

Я просто ржал!


Это сообщение отредактировал(а) georain - 13.6.2008, 16:30
PM MAIL   Вверх
pan2004
Дата 13.6.2008, 16:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 357
Регистрация: 28.7.2007

Репутация: 1
Всего: 9



Цитата(andrew_121 @  13.6.2008,  14:32 Найти цитируемый пост)
Возьми класс complex, замени его типы на long double и будет у тебя класс 200 битного числа.

Судя по приведенным выше исходникам, нужно использовать большие целые числа. Заменять их плавающей точкой нельзя - практически все арифметические операции double float и тп не дают математически точного результата, да и хранятся  они в памяти в виде приближенных значений..
А насчет complex я реально не понял - это же комплексные числа, представляемые в виде a+bi, имеют например совершенно отличающиеся операции */ даже от просто double чисел - как они могут заменить целочисленные?

Добавлено через 2 минуты и 41 секунду
Цитата(Splendid @  13.6.2008,  16:14 Найти цитируемый пост)
тогда так::(

Он говорит, что не может найти тела перечисленных функций. Подключи поставляемый вместе с библиотекой *.lib файл(если используется MS VC) - как это делается, смотри в настройках проекта


--------------------
Qt4/C++ fan
WinXP SP3: MSVC++2005 Qt4.5.1 Boost1.39
сыграем в дурака?
PM MAIL   Вверх
andrew_121
Дата 13.6.2008, 17:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодофей
****


Профиль
Группа: Завсегдатай
Сообщений: 3448
Регистрация: 3.1.2008

Репутация: 6
Всего: 33



pan2004 - Класс complex - это же класс. Перегружаешь операторы...и вот...чудо )))



--------------------
Удалил аккаунт. Прощайте!
PM MAIL   Вверх
Ln78
Дата 13.6.2008, 17:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 274
Регистрация: 25.11.2006

Репутация: 13
Всего: 15



Splendid, c самого начала: что у Вас есть и что удалось сделать? Т.е. библиотека чем представлена: файлами *.h, *.lib, *.dll, *.cpp? Каким компилятором (IDE) пользуетесь? В чём сложность: создании проекта, использовании библиотеки вообще, использование данной конкретной библиотеки? Что удалось сделать? Уточните, чтобы перейти к следующему шагу решения.

andrew_121, желание помочь - похвально. Особенно, когда за этим стоит нечто большее, чем просто выдача не относящейся к делу и неверной информации.
PM MAIL   Вверх
pan2004
Дата 13.6.2008, 17:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 357
Регистрация: 28.7.2007

Репутация: 1
Всего: 9



Цитата

pan2004 - Класс complex - это же класс. Перегружаешь операторы...и вот...чудо )))

Проще написать с нуля свой, чем наследоватся от этого совершенно левого класса


--------------------
Qt4/C++ fan
WinXP SP3: MSVC++2005 Qt4.5.1 Boost1.39
сыграем в дурака?
PM MAIL   Вверх
andrew_121
Дата 13.6.2008, 18:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодофей
****


Профиль
Группа: Завсегдатай
Сообщений: 3448
Регистрация: 3.1.2008

Репутация: 6
Всего: 33



Цитата(pan2004 @  13.6.2008,  17:57 Найти цитируемый пост)
Проще написать с нуля свой, чем наследоватся от этого совершенно левого класса

А я и не предлагал наследовать.


--------------------
Удалил аккаунт. Прощайте!
PM MAIL   Вверх
Splendid
Дата 1.7.2008, 13:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 256
Регистрация: 1.8.2007
Где: Беларусь, Минск

Репутация: нет
Всего: нет



Спасибо большое всем за помощь - я разобралась!
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0494 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.