Начинаем складывать "в столбик" с младших разрядов. Почему 13, а не 3? Потому, что при сложении двух положительных однозначных чисел может получиться однозначное число, не меньшее обоих этих чисел, либо двухзначное, содержащее 1 в старшем разряде. Например, 2+5=7 (7>2 и 7>5)? и 9+9=18 (+1 в старший разряд и ОСТАТОК записываем). Следовательно, в нашем случае как раз произошел перенос +1 в старший разряд, а 3 - это ОСТАТОК.
Если бы мы складывали 7 и 4 в десятичной системе счисления, то получили бы 11, т.е. остаток был бы равен 11-10=1. У нас же получилось 11-x=3, откуда х=8, т.е. можно сделать предположение, что система восьмеричная. Проверим это при сложении в следующем разряде. 5+5+1 (+1 от переноса)=11 в десятичной системе. В восьмеричной это 13, т.е. должны быть тройка. Именно тройка и записана. т.е. система действительно восьмеричная. ответ: х=8
Усложнённый вариант(всё работает исправно,при вводе больше или меньше 3 чисел выводится сообщение "Это не трёхзначное число!"):var i,a,d:integer; s:string; begin writeln('Введите трёхзначное число '); read(s); d:=length(s); if d<>3 then write('Это не трёхзначное число!'); if d=3 then if (s[1]=s[2])or(s[1]=s[3])or(s[2]=s[3]) then write('Да') else write('Нет'); end. Простой вариант(выводится ошибка если цифр больше или меньше трёх!):var i,a,d:integer; s:string; begin writeln('Введите трёхзначное число '); read(s); if (s[1]=s[2])or(s[1]=s[3])or(s[2]=s[3]) then write('Да') else write('Нет'); endю
Почему 13, а не 3? Потому, что при сложении двух положительных однозначных чисел может получиться однозначное число, не меньшее обоих этих чисел, либо двухзначное, содержащее 1 в старшем разряде. Например, 2+5=7 (7>2 и 7>5)? и 9+9=18 (+1 в старший разряд и ОСТАТОК записываем).
Следовательно, в нашем случае как раз произошел перенос +1 в старший разряд, а 3 - это ОСТАТОК.
Если бы мы складывали 7 и 4 в десятичной системе счисления, то получили бы 11, т.е. остаток был бы равен 11-10=1. У нас же получилось 11-x=3, откуда х=8, т.е. можно сделать предположение, что система восьмеричная. Проверим это при сложении в следующем разряде.
5+5+1 (+1 от переноса)=11 в десятичной системе. В восьмеричной это 13, т.е. должны быть тройка. Именно тройка и записана. т.е. система действительно восьмеричная.
ответ: х=8
i,a,d:integer;
s:string;
begin
writeln('Введите трёхзначное число ');
read(s);
d:=length(s);
if d<>3 then
write('Это не трёхзначное число!');
if d=3 then
if (s[1]=s[2])or(s[1]=s[3])or(s[2]=s[3]) then
write('Да')
else
write('Нет');
end. Простой вариант(выводится ошибка если цифр больше или меньше трёх!):var
i,a,d:integer;
s:string;
begin
writeln('Введите трёхзначное число ');
read(s);
if (s[1]=s[2])or(s[1]=s[3])or(s[2]=s[3]) then
write('Да')
else
write('Нет');
endю