Моё меню Общее меню Сообщество Правила форума Все прочитано
Вернуться   uForum.uz > ИКТ и телеком > IT-индустрия > Софт > Программирование > Pascal, Delphi & Builder
Сообщения за день Поиск
Знаете ли Вы, что ...
...для каждой темы существует свой раздел. Изучите структуру форума. Если соответствующего раздела нет, то всегда есть раздел "Разное" :)
<< Предыдущий совет - Случайный совет - Следующий совет >>

Pascal, Delphi & Builder Вопросы программирования касающиеся Pascal и Delphi


Ответить

 
Опции темы Опции просмотра
Старый 28.01.2010 19:08   #61  
Real ID Group uParty Member Ultimate
Аватар для Nadir Zaitov
Оффлайн
Сообщений: 13,210
+ 4,958  9,176/3,940
– 170  137/105

UzbekistanОтправить сообщение для Nadir Zaitov с помощью Skype™
Цитата:
Сообщение от German Stimban Посмотреть сообщение
Речь идёт о паскале?
Сейчас нет под рукой. В Паскале была компиляция с оптимизацией кода . Это не был совсем деревянным языком. А в Дэльфи разве не так или это тоже язык для детей??
__________________
Тот факт, что медуза выжила 650 миллионов лет без мозгов, даёт надежду многим.
Ответить 
"+" от:
Старый 18.04.2013 01:57   #62  
Аватар для azics
Оффлайн
Сообщений: 2
+ 0  0/0
– 0  0/0

Uzbekistan
Цитата:
Сообщение от Nadir Zaitov Посмотреть сообщение
Писать дальше много и вы в програмке ничего не поймете... лучше теория:
Цитата:
Составить программу на языке программирования и в блок-схеме. Даны натуральные числа a и b, не равные нулю одновременно. Вычислить НОД(a,b) – наибольший общий делитель a и b.
Пусть даны числа A и B. Будем считать A>B (Иначе НОД(A,B)=НОД(B,A);

Далее если A mod Б = 0, то НОД (А,Б)=Б иначе НОД (А,Б)=НОД (Б,A mod Б).

Процесс быстро заканчивается, так что можно использывать рекурсию.
вы задачу не вовсе поняли, нужно найти НОД а не - число А делится на Б.

вот решения:
program NODfinder;
var
a,b,nod:integer;
begin
read(a,b);
if a=b then nod:=a;
if a<b then swap(a,b);
repeat a:=a-b until a=b;
nod:=a;
writeln(nod)
end.
Ответить 
Старый 18.04.2013 02:18   #63  
Known ID Group uParty Member Ultimate
Аватар для JH
Оффлайн
Сообщений: 10,921
+ 3,666  10,931/4,676
– 584  286/214

Uzbekistan
azics, три с половиной года спустя Надиру Заитову плевать
Ответить 
"+" от:
Реклама и уведомления
Старый 19.04.2013 11:34   #64  
Real ID Group uParty Member Ultimate
Аватар для Nadir Zaitov
Оффлайн
Сообщений: 13,210
+ 4,958  9,176/3,940
– 170  137/105

UzbekistanОтправить сообщение для Nadir Zaitov с помощью Skype™
Цитата:
Сообщение от JH Посмотреть сообщение
azics, три с половиной года спустя Надиру Заитову плевать
да и решение не правильное.
Цитата:
Сообщение от azics Посмотреть сообщение
repeat a:=a-b until a=b;
__________________
Тот факт, что медуза выжила 650 миллионов лет без мозгов, даёт надежду многим.
Ответить 
"+" от:
Старый 19.04.2013 14:34   #65  
Аватар для azics
Оффлайн
Сообщений: 2
+ 0  0/0
– 0  0/0

Uzbekistan
Цитата:
Сообщение от Nadir Zaitov Посмотреть сообщение
Цитата:
Сообщение от JH Посмотреть сообщение
azics, три с половиной года спустя Надиру Заитову плевать
да и решение не правильное.
Цитата:
Сообщение от azics Посмотреть сообщение
repeat a:=a-b until a=b;
согласен! но это правильное


program NODfinder;
var a,b,nod:integer;
begin
read(a,b);
if a=b then nod:=a else
repeat
begin
if a>b then a:=a-b else b:=b-a;
end;
until a=b;
nod:=a;
write(nod);
end.
Ответить 
Старый 19.04.2013 15:19   #66  
Заблокирован(а)
Аватар для Timofeus
Оффлайн
Люмпен-инженерий
Сообщений: 2,866
+ 1,124  2,154/948
– 21  65/46

Uzbekistan
может

for i=0 to (A-1)
if B/(A-i)=mod(B/(A-i)) and A/(A-i)=mod(A/(A-i)) then NOD=A-i

Ответить 
Старый 19.04.2013 16:05   #67  
uParty Member Known ID Group
Аватар для DarkUser
Оффлайн
Служу Его Божественной Тени!
Сообщений: 1,671
+ 4,505  1,372/657
– 164  33/27

Uzbekistan
Цитата:
Сообщение от azics Посмотреть сообщение
согласен! но это правильное
и чем оно отличается от
Цитата:
Сообщение от Nadir Zaitov Посмотреть сообщение
если A mod Б = 0, то НОД (А,Б)=Б иначе НОД (А,Б)=НОД (Б,A mod Б)
кроме лишних подергиваний процессора?

Цитата:
Сообщение от Timofeus Посмотреть сообщение
for i=0 to (A-1)
if B/(A-i)=mod(B/(A-i)) and A/(A-i)=mod(A/(A-i)) then NOD=A-i
Затрудняюсь определить язык
Но если правильно понял смысл - лучше идти от меньшего числа до единицы, и прерывать цикл, когда найдено.
__________________
Are you my mommy?
Ответить 
Старый 19.04.2013 16:36   #68  
Real ID Group uParty Member Ultimate
Аватар для Nadir Zaitov
Оффлайн
Сообщений: 13,210
+ 4,958  9,176/3,940
– 170  137/105

UzbekistanОтправить сообщение для Nadir Zaitov с помощью Skype™
Цитата:
Сообщение от DarkUser Посмотреть сообщение
лучше идти от меньшего числа до единицы
В любом случае долго
__________________
Тот факт, что медуза выжила 650 миллионов лет без мозгов, даёт надежду многим.
Ответить 
"+" от:
Старый 19.04.2013 16:51   #69  
Заблокирован(а)
Аватар для Timofeus
Оффлайн
Люмпен-инженерий
Сообщений: 2,866
+ 1,124  2,154/948
– 21  65/46

Uzbekistan
Цитата:
Сообщение от DarkUser Посмотреть сообщение
Затрудняюсь определить язык
Простите мой хранцузский паскаль.
Цитата:
Сообщение от DarkUser Посмотреть сообщение
лучше идти от меньшего числа до единицы, и прерывать цикл, когда найдено.
Но принцип-то такой же брутфорсный.
Ответить 
Старый 19.04.2013 18:59   #70  
Real ID Group uParty Member Ultimate
Аватар для Nadir Zaitov
Оффлайн
Сообщений: 13,210
+ 4,958  9,176/3,940
– 170  137/105

UzbekistanОтправить сообщение для Nadir Zaitov с помощью Skype™
Если без рекурсий и на его Паскале с его странной стилистикой, то так:

Код:
program NODfinder;
var a,b,nod:integer;
  Begin
     Readln(a,b);
     If a=b Then nod:=a
              Else
              Repeat 
                  if a>b then a:=a mod b else b:=b mod a;
              Until a*b=0;
nod:=a+b;
Writeln(nod);
End.
Цитата:
Сообщение от Timofeus Посмотреть сообщение
Но принцип-то такой же брутфорсный.
Типа вы его специально создали, чтоб постебаться над "a:=a-b"?
__________________
Тот факт, что медуза выжила 650 миллионов лет без мозгов, даёт надежду многим.

Последний раз редактировалось Nadir Zaitov; 19.04.2013 в 19:04.
Ответить 
Реклама и уведомления
Ответить




Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd. Перевод: zCarot
Advertisement System V2.5 By Branden
OOO «Единый интегратор UZINFOCOM»


Новые 24 часа Кто на форуме Новички Поиск Кабинет Все прочитано Вверх