Предмет: Информатика,
автор: lololalo
Загадывается трехзначное число Х. Из него нужно вычеркнуть одну цифру так, чтобы оставшееся число 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.
Приложения:
Похожие вопросы
Предмет: Математика,
автор: mlpalextsu
Предмет: Английский язык,
автор: Аноним
Предмет: Музыка,
автор: dasastabel
Предмет: Математика,
автор: 09041
Предмет: Математика,
автор: Аноним