Написать ** паскале программу ** признак делимости, которая выводит, делится ли число **...

0 голосов
31 просмотров

Написать на паскале программу на признак делимости, которая выводит, делится ли число на 11 или нет, с участием функции


Информатика (316 баллов) | 31 просмотров
Дано ответов: 2
0 голосов
Правильный ответ

То, что написал Alex - это не функция проверки признака делимости,
а стандартная функция остатка от деления, которая тебе не подходит.
Признак делимости на 11 такой. Нужно отдельно сложить цифры, стоящие на нечетных местах - 1, 3, 5, ..., до конца, и отдельно цифры, стоящие на четных местах - 2, 4, 6, ..., тоже до конца.
Потом вычитаешь из большего числа меньшее. Если разность = 0 или делится на 11, то и все число делится на 11.
Я паскаль плохо знаю, поэтому опишу только алгоритм.
1) Вводим начальное число N.
2) Объявляем массив M[length(N)] длиной, равной количеству цифр числа.
3) Делаем в цикле a := N mod 10; M[i] := a; N := int(N / 10); i := i+1;
Продолжаем цикл до тех пор, пока N > 0.
4) S1 := 0; Цикл от 1 до length(N) с шагом 2: S1 := S1 + A[i];
5) S2 := 0; Цикл от 2 до length(N) с шагом 2: S2 := S2 + A[i];
6) Raznost := abs(S1 - S2); 
7) Если Raznost mod 11 = 0 тогда ответ ДА, иначе ответ НЕТ.
8) Конец

(320k баллов)
0 голосов

Var
chislo:integer;
begin
writeln('Введите число');
readln ( chislo);
if ( (chislo mod 11)=0) then
writeln ( 'делится')
else
writeln ( 'не делится');
readln;
readln
end.
вроде так
будут ошибки пиши

(68 баллов)
0

я же написал с участием функции, с признаком делимости на 11, то есть разность чисел на четных и нечетных позициях должна быть равна 0, или числу кратному 11, а такую программу я и сам могу написать