1 * 2^5 + 1* 2^1 + 1 * 2^0 = 35
Объяснение:
100011- имеет 6 разрядов(6 циферок). Всё что нужно сделать это каждую циферку умножить на степень двойки.
Отсчёт степени начинается с 0, так как у нас 6 разрядное число то диапазон степени у нас от 0 до 5 итого(6 разрядов). 0, 1, 2, 3, 4, 5.
И начиная от большего разряда мы умножаем каждую циферку на степень двойки.
1 * 2^5 + 0 * 2^4 + 0 * 2^3 + 0 * 2^2 + 1 * 2^1 + 1 * 2^0 = 35
Так как умножение на 0 даёт ноль мы можем отбросить все части с 0 и получается 1 * 2^5 + 1 * 2^1 + 1 * 2^0 = 35
Сорян паскаль не знаю , могу скинуть на С++
Разбираешься в инфе , поймёшь
#include <iostream>
using namespace std ;
int main {
\\ не важно что выше
int num , k , o , s , l; \\ объявляем числа
l, o , s , k ,num = 0 ; \\ чтобы в компиле гадости не было
cin >> num >> k ; \\ вводим их c клавы
while (num >= 1) {
s = num ;
o = s%10 ;
if (o <= k){ // цикл на проверку условию задачи
l += 1 ;
}
num = num % 10 ;
}
cout << l ; // выводим ответ
\\ не важно что ниже
return 0 ;
}