Я пытаюсь решить проблему, которая просит найти все квадраты 1 <= N <= 300, которые являются палиндромными, когда выражены в базе B. Однако у меня есть решение, оно слишком медленное и замедляетЭто мое решение для преобразования числа в основание B. </p>
long around(long n)
{
long around = 0;
while (n > 0){
around = around * 10 + (n % 10);
n = n / 10;
}
return around;
}
long convert(int n, int b)
{
long x = 0;
while (true){
x = x * 10 + (n % b);
if (n == 1)
break;
n = n / b;
}
return around(x);
}
Пожалуйста, порекомендуйте любые более быстрые решения для преобразования десятичного числа в основание B или дайте какие-либо советы по улучшению производительности моих текущих решений.