Первый раз слышу такой термин, как шифтирование. Есть циклические сдвиги, но там явно не проще будет, чем твое решение. Также есть битовые сдвиги, в Python это >> и <<, но это явно не к твоему примеру.
В Python я бы число перевел в строку, затем с помощью срезов перебрал бы всевозможные подстроки (без 1-ого символа) с переводом их назад в число. И осталось бы просто вывести максимальное и минимальное.
Нажмите, чтобы раскрыть...
Перевод в строку и дальнейшие манипуляции с ней - костыль, а не решение. За такое его препод набутылит, скорее всего.
Саму задачку я сделал, она не такая уж и тяжелая, но когда я ее показал учителю он сказал что через шифтирование это будет лучше сделать, но так как мы такое еще не учили он поверхностна сказал что это такое, а из того что я в инете узнал смог тока из 10 системы в 2 перевести, а как задачу решить через шифтирование не понял. Может кто помочь с этим (Делаем все на С
)
Дается номер N с макс 6 цифр. Узнать:
а) макс номер который получается убрав 1 цифру.
б) мин номер который получается убрав 1 цифру.
прим.
ввод: 123456
мин 12345
мфкс 23456
Для тех кто не понял о чем задачка(или что мне нужно), как убрать последнюю(первую) цифру через шифтирование
UPD. Я тут нашел что в РУ это Поразрядный сдвиг называется
Нажмите, чтобы раскрыть...
ТСу: впервые слышу такой термин, но если тебе нужно просто убрать цифру из числа, то самый простой способ заюзать такую формулу:
f(x) = ( x / 10^(n+1) ) * 10 ^ n + (x mod 10^n), где 'х' - твое число, а 'n' - разряд; / - целочисленное деление, mod - остаток от деления.
Пример: из числа 12345 нужно убрать цифру 3, оно имеет разряд 2 (нумеруем с нуля), подставив в формулу, получим:
f(x) = ( 12345 / 10^(2+1) ) * 10 ^ 2 + (12345 mod 10^2) = (12345 / 1000) * 100 + (12345 mod 100) = 12 * 100 + 45 = 1245
Дальше просто в цикле можешь перебрать все значения n от 0 до 5 и вывести минимальное/максимальное. Вроде ничего не потерял, как-то так.
Если твое число было дано изначально в бинарном/шестнадцатеричном формате, то можно было бы применить побитовые операции, но хз, по условию задачи это не подходит.