Предмет: Информатика, автор: mikimouse9

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

Ответы

Автор ответа: 912BIT
0

#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;

}


DigitalAnnihilator: Код я даже коментить не буду. Но программа работает не правильно, при вводе 1234 выдает - 4231. А должно по условию - 4123.
912BIT: Переставить первую и последнюю цифру 1234
1 - первая цифра
912BIT: 4 - последняя цифра
912BIT: 4 встаёт на место первой цифры, а 1 на место последней
912BIT: в итоге будет 4231
912BIT: По твоему получается что последняя цифра должна быть перед первой
DigitalAnnihilator: Сорри, ты прав, продолбался!
Автор ответа: DigitalAnnihilator
1

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

https://znanija.com/task/30446734

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

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

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

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


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

Приложения:
Похожие вопросы
Предмет: Английский язык, автор: fasderfredi4
Предмет: Английский язык, автор: mihailsevcuk7879
Предмет: Математика, автор: nikazolotar
Предмет: Математика, автор: 777abc
Предмет: Алгебра, автор: ЖдуПятницу