Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 12.02.2010, 22:27   #1
maziLa
Пользователь
 
Регистрация: 08.12.2008
Сообщений: 30
По умолчанию Проблема с типами

Код:
uses crt;

var
   A, B, R, aa, bb: longint;
   NOK, NOD: extended;
Begin
     ClrScr;
     Write('‚ўҐ¤ЁвҐ зЁб«* a,b:');ReadLn(aa,bb);
     A:=aa;B:=bb;R:=A mod B;
     While R<>0 do
     begin
           A:=B;B:=R;
           R:=A mod B;
     end;
     NOD:=B;
     WriteLn('ЌЋ„(a,b)=',NOD:10:0);
     NOK:=(aa*bb)/NOD;
     Write('ЌЋЉ(a,b)=',NOK:10:0);
     ReadLn;
end.
У меня неправильно считает НОК, например при таких числах
163438 и 104006 -- выводит отрицательное число.
maziLa вне форума Ответить с цитированием
Старый 13.02.2010, 07:25   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

всё правильно. так и и должно быть.
163438 * 104006 = 16 998 532 628
а максимальное число, которое может вместить тип LongInt: 2 147 483 647

Пробему можно обойти, например, так:
Код:
...     NOK := aa;
     NOK := NOK*bb/NOD;
     Write('НОК (a,b)=',NOK:12:0);
Serge_Bliznykov вне форума Ответить с цитированием
Старый 13.02.2010, 13:23   #3
maziLa
Пользователь
 
Регистрация: 08.12.2008
Сообщений: 30
По умолчанию

Спасиба, теперь всё работает
maziLa вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблемы с типами tavrocotaps Общие вопросы C/C++ 3 29.01.2009 17:28
Не могу разобраться с типами DM_bite Помощь студентам 6 11.08.2008 11:22
Работа со строковыми типами VenMaster Общие вопросы Delphi 2 04.06.2008 08:07
проблема с типами Saya Свободное общение 0 27.04.2007 12:22