Добро пожаловать! Это — архивная версия форумов на «Хакер.Ru». Она работает в режиме read-only.
 

Хелп - паскаль

Пользователи, просматривающие топик: none

Зашли как: Guest
Все форумы >> [Веб-программинг] >> Хелп - паскаль
Имя
Сообщение << Старые топики   Новые топики >>
Хелп - паскаль - 2005-04-09 23:38:27   
Oleg330

Сообщений: 12
Оценки: 0
Присоединился: 2005-04-09 00:52:21
Народ выручайте, нужно решить задачку на Паскале. вот :Определить являются ли два заданных числа взаимно простыми(взаимно простые числа не имеют общих делителей, кроме единицы). Подскажите алгоритм по которому должна решаться эта задачка, а как написать думаю сам допру. Заранее благодарен.
Post #: 1
Хелп - паскаль - 2005-04-10 00:49:16   
kuz

Сообщений: 18
Оценки: 0
Присоединился: 2005-04-09 20:15:54
Мнем. Ну самое первое и тупое, что приходит в голову - делить их в цикле на все натуратьные числа по очереди и смотреть рабен ли округленный результат деления неокругленному, и если для обоих равен - тогда сразу писать мол нихрена не являютс они взаимнопростыми, а если не равен - ито дпльше шпарить. Я себе так примерно представляю

var
a,b,с,i: integer;
begin
//всякие вступления и считываение чисел
if a > b then c:= a else c:= b;
for i:= 2 to c do begin
if (a/i = int(a/i) ) and (b/i = int(b/i)) then
begin
WriteLn('nifiga ne yavljajetsja');
Application.Terminate; //ну или еще как то прогу заверши
end;
end;
if i=c then WriteLn('yavljajutsja');
end;

вроде как-то так, за синтаксис сорри если что не правильно - давно на паскале не писал ничего.


Post #: 2
Хелп - паскаль - 2005-04-10 02:06:57   
rgo

Сообщений: 7170
Оценки: 281
Присоединился: 2004-09-25 05:14:25
Алгоритм Евклида. Для поиска наибольшего общего делителя.
Исходя из предположения что a>b, его можно записать так:

1. Если a равно 0 то мы победели. в b лежит НОД
2. `r:=a mod b; a:=b; b:=r;' и перейти к шагу 1.

ЗЫ не пишу на паскале ибо боюсь кучу синтаксических ошибок наделать.
Post #: 3
Хелп - паскаль - 2005-04-10 02:12:17   
rgo

Сообщений: 7170
Оценки: 281
Присоединился: 2004-09-25 05:14:25
Да, ещё. Я всё-таки открыл Кнута, этот алгоритм не будет работать для отрицательных чисел, эту ситуёвину надо обрабатывать отдельно и работать с абсолютными величинами.
Post #: 4
Хелп - паскаль - 2005-04-10 12:23:44   
ни разу не дигитал ака свалил

Сообщений: 695
Оценки: 0
Присоединился: 2005-02-22 19:55:08
rgo всё правильно сказал. Алгоритм Евклида:
уменшаем каждыи раз большее из чисел на веоичину меньшегодо тех пор пока значения не станут равны…
зы числа должны быть только натуральными
Post #: 5
Хелп - паскаль - 2005-04-10 23:23:43   
Oleg330

Сообщений: 12
Оценки: 0
Присоединился: 2005-04-09 00:52:21
Post #: 6
Хелп - паскаль - 2005-04-10 23:25:43   
Oleg330

Сообщений: 12
Оценки: 0
Присоединился: 2005-04-09 00:52:21
Post #: 7
Хелп - паскаль - 2005-04-10 23:26:54   
Oleg330

Сообщений: 12
Оценки: 0
Присоединился: 2005-04-09 00:52:21
Post #: 8
Хелп - паскаль - 2005-04-10 23:27:46   
Oleg330

Сообщений: 12
Оценки: 0
Присоединился: 2005-04-09 00:52:21

Спасибо за советы, но у меня возникло несколько вопросов:


1. Что делает функция Int?


2.Прогу, которую дал kuz не корректно работает вот она(во всяком случае я её так списал):
program Dvachisla;
var
a,b,c,i: Integer;
Begin
WriteLn('‚1 chislo');
ReadLn(a);
WriteLn('‚2chislo');
ReadLn(b);
if a>b then c:=a else c:=b;
for i:=2 to c do begin
if(a/i=int(a/1)) and (b/i=int(b/i)) then
begin
WriteLn('ne javlautsa);
end;
end;
if i=c then WriteLn('javlautsa);
ReadLn;
end.


 3. Я сейчас читаю книжку "Изучаем turbo Pascal" От издательства "Питер".что посоветуете почитать, чтобы новичку понятно было(чтоб не очень нрузило) и чтоб с премерами?

Post #: 9
Хелп - паскаль - 2005-04-11 08:30:44   
Lex_Voodoo

Сообщений: 7328
Оценки: 0
Присоединился: 2004-12-07 13:55:12
>> 1. Что делает функция Int?
Надо полагать, возвращает целочисленное значение аргумента.
Post #: 10
Хелп - паскаль - 2005-04-11 21:31:28   
Oleg330

Сообщений: 12
Оценки: 0
Присоединился: 2005-04-09 00:52:21

Ну че народ ктонить надумал чего?
Post #: 11
Хелп - паскаль - 2005-04-13 02:31:44   
rgo

Сообщений: 7170
Оценки: 281
Присоединился: 2004-09-25 05:14:25
ну чё Oleg330 дочитал книжку?
Post #: 12
Страниц:  [1]
Все форумы >> [Веб-программинг] >> Хелп - паскаль







Связаться:
Вопросы по сайту / xakep@glc.ru

Предупреждение: использование полученных знаний в противозаконных целях преследуется по закону.