Одно очевидное решение:
int n = 2134;
while(n > 9)
n /= 10;
которая принимает линейное время. Можем ли мы сделать быстрее?
Является ли это быстрее, чем линейное время:
char s[100];
sprintf(s, "%d", n);
n = s[0]-'0';
Какими другими способами (эффективность является первоочередной задачей)?
Я видел этот, за исключением того, что мне нужно найти только первую цифру.
(Кроме того, я не понимаю ответа).