Junior — Middle
111
¿Cómo se puede extraer un número en el que todos los dígitos son cero, excepto uno en una posición dada?
Respuesta de la IA
sobes.tech AI
Чтобы извлечь число, у которого все цифры нули, кроме одной в заданной позиции, можно использовать битовые операции сдвига. Например, если считать позицию цифры с нуля справа налево, то число с единицей в этой позиции и нулями в остальных будет равно 1 << position.
Пример на C++:
#include <iostream>
int main() {
int position = 3; // позиция цифры (считая с 0)
int number = 1 << position; // число с единицей в позиции 3
std::cout << number << std::endl; // Выведет 8 (2^3)
return 0;
}
Если речь идет не о битах, а о десятичных цифрах, например, число с одной цифрой 5 на позиции 3 (считая справа), то можно использовать степень 10:
int position = 3; // позиция цифры
int digit = 5; // цифра
int number = digit * static_cast<int>(pow(10, position));
Это даст число 5000, где только цифра 5 стоит на позиции 3, остальные — нули.