Ответ:
У меня получилось вот так.
Объяснение:
6папок т.к в 1 папке содержится 2-3 бита
var
str, num: <em>string</em>;
begin
readln(str); <em>//str := 'Day 10, mice 8: "Year" 7 is a mistake 91.';</em>
foreach c: char in str do
if (Char.IsDigit(c)) then
num += c;
for j: byte := 1 to length(num) - 2 do
for i: byte := 1 to length(num) - 1 do
if (num[i] < num[i + 1]) then
begin
str[1] := num[i];
num[i] := num[i + 1];
num[i + 1] := str[1];
end;
if (Integer.Parse(num) > 0) then
begin
while (num[num.Length - 1] = '0') do
num.Remove(num.Length - 1);
writeln('Да' + #13 + num);
end
else
writeln('Нет');
end.
Функция sqr(x) служит для возведения аргумента х в квадрат, поэтому представим a¹⁰ в виде максимально возможного набора операций возведения в квадрат.
a¹⁰ = a²·a⁸ = a²·(a⁴)² = a²·[(a²)²]²
var
a:real;
begin
Write('a=');
Read(a);
Writeln(a,'^10=',sqr(a)*sqr(sqr(sqr(a))))
end.
Тестовые решения
a=2
2^10=1024
a=3.18
3.18^10=105747.765633159
a=10
10^10=10000000000
a=318.53
318.53^10=1.07523505784868E+25