Загадывается трехзначное число Х. Из него нужно вычеркнуть одну цифру так, чтобы оставшееся число Y являлось делителем иходного числа Х.
напишите такую программув PascalABCNET
Ответы
Ответ дал:
0
Program SimpleText;var a,FirstN,SecondN,ThirdN : integer;Begintryreadln(a);FirstN := a div 100;SecondN := ((a div 10) mod 10 );ThirdN :=( a mod 10);if ( a mod (SecondN*10+ThirdN) = 0 ) then writeln('Вычеркиваем первую цифру')else if ( a mod (FirstN*10+ThirdN) = 0) then writeln('Вычеркиваем вторую цифру')else if ( a mod (FirstN*10+SecondN) = 0) then writeln('Вычеркиваем третью цифру')else writeln('Неверно загадано число'); excepton System.DivideByZeroException do
writeln('Деление на 0');end;end.
writeln('Деление на 0');end;end.
Приложения:

Ответ дал:
0
Ну, я, в любом случае, старался
Ответ дал:
0
Темп не менее, убирайте недочет в программе, иначе Ваше решение будет ошибочным им его удалят.
Ответ дал:
0
Я, конечно, исправил, но появляется другой вопрос : для чего тут два разных по реализации но одинаковых по сути решения?
Ответ дал:
0
Если нет прямого копирования, возможны варианты, что авторы нашли одинаковый алгоритм. Это допустимо.
Ответ дал:
0
Когда пишешь решение, вовсе не обязательно читать имеющееся.
Ответ дал:
0
// PascalABC.NET 3.3, сборка 1555 от 21.10.2017
// Внимание! Если программа не работает, обновите версию!
begin
var x:=ReadInteger('Введите трехзначное число:');
var (a,b,c):=(x div 100,x div 10 mod 10,x mod 10);
if b+c<>0 then
if x mod (10*b+c)=0 then begin
Writeln('Вычеркнуть первую цифру (',a,')');
Exit
end
else
if a+c<>0 then
if x mod (10*a+c)=0 then begin
Writeln('Вычеркнуть вторую цифру (',b,')');
Exit
end
else
if a+b<>0 then
if x mod (10*a+b)=0 then begin
Writeln('Вычеркнуть третью цифру (',c,')');
Exit
end;
Writeln('Нет решения')
end.
// Внимание! Если программа не работает, обновите версию!
begin
var x:=ReadInteger('Введите трехзначное число:');
var (a,b,c):=(x div 100,x div 10 mod 10,x mod 10);
if b+c<>0 then
if x mod (10*b+c)=0 then begin
Writeln('Вычеркнуть первую цифру (',a,')');
Exit
end
else
if a+c<>0 then
if x mod (10*a+c)=0 then begin
Writeln('Вычеркнуть вторую цифру (',b,')');
Exit
end
else
if a+b<>0 then
if x mod (10*a+b)=0 then begin
Writeln('Вычеркнуть третью цифру (',c,')');
Exit
end;
Writeln('Нет решения')
end.
Приложения:

Похожие вопросы
2 года назад
2 года назад
2 года назад
9 лет назад
9 лет назад
9 лет назад