Формальные исполнители не понимают смысла алгоритма. Они только выполняют команды и не могут вносить изменения в алгоритм.
Примеры: ADSL модем, лазерный принтер, фотоэлемент, ЭВМ, устройство для оплаты банковской картой в супермаркете, собака (выполняет команды, не понимая их смысла), телевизор, стиральная машина, принтер и т.д.
Неформальные исполнители понимают смысл алгоритма и могут вносить в него коррективы. Пример: человек.
Var a,b,c:integer;
Begin
Readln(a,b,c);
If (a+b>c) and (a+c>b) and (b+c>a) then
Write('yes') Else
write('no').
Ответ:
1*25 + 0*24 +1*23 +1*22 + 0*21 + 1*20 = 1*5^2 + 0*2^3 * 3 + 1 * 23 + 1 * 11 * 2 + 0 * 3*7 + 1 * 2^2 * 5. - ЭТО НЕ развёрнутая форма записи числа. И поэтому НЕЛЬЗЯ определить основание системы счисления. Поэтому записать в краткой форме ЭТО нельзя. Вот если бы была уже указано основание системы счисления, можно было бы выполнить действия и записать краткую форму.
Возможно вы имели в виду 1*2^5 + 0*2^4 +1*2^3 +1*2^2 + 0*2^1 + 1*2^0 и тогда да, ответ предыдущий (101101) верен, но данное задание ответа не имеет.
Объяснение:
развёрнутая форма - цифры числа умножаются на основание системы счисления возведённое в степень по правилу:
показатель степени - место на котором цифра, возводимая в эту степень, должна находится. (крайняя справа - нулевая степень, вторая справа - первая и т.д.)
Берем это число. Начинаем делить на 3 в цикле. К какой-либо переменной присваиваем +1.
Ну делим, проверяя на наличие остатка (должен быть равен 0)
Потом, если остаток образуется, выходим из цикла, выводим "ложь". Иначе проверяем, если переменная, к которая считала кол-во делящихся элементов делится нацело на 3 без остатка, выводим "истина" иначе ложь. Два цикла
Я на с++ пишу, скорее всего не подойдет