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

Ztduvuycc Ztduvuycc    3   02.10.2019 02:10    2

Ответы
лия206 лия206  09.10.2020 10:47

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

}

ПОКАЗАТЬ ОТВЕТЫ
agbelova agbelova  09.10.2020 10:47

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

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

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

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

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


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


Написать программу на с++ переставить первую и последнюю цифру в записи натурального числа n.
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика

Популярные вопросы