• Написать программу на С++
    Переставить первую и последнюю цифру в записи натурального числа n.

Ответы 7

  • 4 - последняя цифра
    • Автор:

      juan31
    • 5 лет назад
    • 0
  • 4 встаёт на место первой цифры, а 1 на место последней
  • в итоге будет 4231
  • По твоему получается что последняя цифра должна быть перед первой
  • Сорри, ты прав, продолбался!
  • #include <iostream>

    #include <cmath>

    using namespace std;

    int main()

    {

       int number, coun = 0, d, first, last;

       double pwr;

       setlocale(LC_ALL, "Russian");

       cout << "Поменять первую и последнюю цифры числа>" << endl;

       cout << "Введите число: ";

       cin >> number;

       d = number;

       while (d > 0)

       {

           d /= 10;

           coun++;

           cout << "count = " << coun << endl;

       }

       pwr = pow(10, coun-1);

       //к примеру число равно 321

       //first = 3

       //last = 1

       //number = 32

       //number = 323

       //number = 23

       //number = 123

       first = number / (int)pwr;

       last = number % 10;

       number /= 10;

       number = number * 10 + first;

       number %= int(pwr);

       number += last * int(pwr);

       cout << "Result: " << number << endl;

       return 0;

    }

  • Вопрос является альтернативой к вопросу:

    https://znanija.com/task/30446734

    С тем лишь отличием, что решение тут через математические функции.

    Хоть алгоритм по времени и не оптимизируется, но является более быстрым решением алгоритма из вопроса указанного выше.

    Скорость работы кода в среднем до 40% выше чем в предыдущем.

    По дополнительным вопросам - прошу в комменты.

    Спасибо за отметку "лучшее" решение и нажатую кнопочку "спасибо" тут и в моем аккаунте.

    answer img
    • Автор:

      sumodr1a
    • 5 лет назад
    • 0
  • Добавить свой ответ

Войти через Google

или

Забыли пароль?

У меня нет аккаунта, я хочу Зарегистрироваться

How much to ban the user?
1 hour 1 day 100 years