Помощь - Поиск - Пользователи - Календарь
Полная версия: деление чисел
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
Гость
п-а,которая делает проверку, делится ли числo А на число B
Zxzc
Любое A делится на любое B не равное 0! smile.gif
Наверное, без остатка?
If a div b = a/b then write('delits') else write('NOT');
volvo
Все-таки остаток лучше mod-ом вычислять... Для чего-то же он есть в Паскале...
Гость
а возможно ли решение этой программы через массив или функцию, или рекурсию?
Zxzc
Цитата
а возможно ли решение этой программы через массив или функцию, или рекурсию?

blink.gif blink.gif blink.gif blink.gif (Нет смайлика с отпадающей челюстью dry.gif )
Я даже не знаю что и ответить.... Задача в 3 строки
var a,b:integer
begin
readln(a,b);
If a mod b <>0 then write('delits') else write('NOT');
end.
Гость
я понимаю,но я пишу курсовик,а там такая пр-га,я и подумал,что мало ли.... wacko.gif wacko.gif wacko.gif я уже с ума схожу
Zxzc
Цитата
я уже с ума схожу

А я уж было подумал что со мной что-то... smile.gif
volvo
Ну, в принципе, можно через функцию сделать (вычислить НОД(A, B), и если он = 1, то число A не делится на B нацело):
function GCD (A: integer;  B: integer): integer;
begin
while (a <> 0) and (b <> 0) do
if a >= b then
a := a mod b
else
b := b mod a;
GCD := a + b;
end;

Var A, B: integer;
begin
ReadLn(A, B);
If GCD(A, B) <> 1 Then Write('Yes') Else Write('No');
end.


При желании можно и рекурсивно GCD вычислить...
Dmitry
Цитата
а возможно ли решение этой программы через массив или функцию, или рекурсию?

Можно. У нас в начале этого года такая лаба была. Массивом (или сторокой но ею дольше) можно вычислять, если числа очень большие и не влезают ни в один тип данных (десятки разрядов).
klem4
Цитата
Я даже не знаю что и ответить.... Задача в 3 строки

var a,b:integer
begin
readln(a,b);
If a mod b <>0 then write('delits') else write('NOT');
end.



Всеже наверное
Код
If a mod b = 0 then write('delits')


? mod - остаток от деления а на б, если он НЕ равен нулю значит деления нацело не было.
Zxzc
Цитата
Всеже наверное

Код
If a mod b = 0 then write('delits')



? mod - остаток от деления а на б, если он НЕ равен нулю значит деления нацело не было.


Ну да.. yes2.gif Я это и имел в виду smile.gif
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.