Пусть в восьмеричной системе счисления число выглядит как abc₈, а в шестиричной def₆, тогда d=a+2, e=b+2, f=c+2. Перейдем к записи в расширенном виде. a×8²+b×8+c = (a+2)×6²+(b+2)×6+(c+2) 64a+8b+c=36a+72+6b+12+c+2 28a+2b=86 14a+b=43 → b=43-14a Понятно, что a,b,c - это восьмеричные цифры и они должны быть одноразрядными и положительными. Простым перебором устанавливаем, что a=3, b=1. Тогда 31c₈ = 53f₆ Поскольку f ∈ [0;5] ∩ с ∈ [0;7] ∩ f=c+2, то с ∈ [0;3] и чисел может быть всего четыре: 310₈, 311₈, 312₈, 313₈
// PascalABC.NET 3.3, сборка 1634 от 14.02.2018 // Внимание! Если программа не работает, обновите версию!
begin var (s,x):=(ReadlnString('Введите число, можно нецелое:'),0.0); if TryStrToFloat(s,x) then if s.Where(c-> c in ['0'..'9']).Select(c->c.ToDigit).Sum mod 10=5 then Writeln('Сумма цифр заканчивается на 5') else Writeln('Сумма цифр не заканчивается на 5') else Writeln('Неверное представление числа') end.
Примеры Введите число, можно нецелое: -3532175 Сумма цифр не заканчивается на 5
Введите число, можно нецелое: 0.02432413 Сумма цифр не заканчивается на 5
Введите число, можно нецелое: -13.05360214 Сумма цифр заканчивается на 5
Введите число, можно нецелое: 1.23007e-31 Сумма цифр не заканчивается на 5
Перейдем к записи в расширенном виде.
a×8²+b×8+c = (a+2)×6²+(b+2)×6+(c+2)
64a+8b+c=36a+72+6b+12+c+2
28a+2b=86
14a+b=43 → b=43-14a
Понятно, что a,b,c - это восьмеричные цифры и они должны быть одноразрядными и положительными. Простым перебором устанавливаем, что a=3, b=1.
Тогда 31c₈ = 53f₆
Поскольку f ∈ [0;5] ∩ с ∈ [0;7] ∩ f=c+2, то с ∈ [0;3] и чисел может быть всего четыре: 310₈, 311₈, 312₈, 313₈
ответ: 4
// Внимание! Если программа не работает, обновите версию!
begin
var (s,x):=(ReadlnString('Введите число, можно нецелое:'),0.0);
if TryStrToFloat(s,x) then
if s.Where(c-> c in ['0'..'9']).Select(c->c.ToDigit).Sum mod 10=5
then Writeln('Сумма цифр заканчивается на 5')
else Writeln('Сумма цифр не заканчивается на 5')
else Writeln('Неверное представление числа')
end.
Примеры
Введите число, можно нецелое: -3532175
Сумма цифр не заканчивается на 5
Введите число, можно нецелое: 0.02432413
Сумма цифр не заканчивается на 5
Введите число, можно нецелое: -13.05360214
Сумма цифр заканчивается на 5
Введите число, можно нецелое: 1.23007e-31
Сумма цифр не заканчивается на 5