М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
roman2223q
roman2223q
09.10.2020 00:47 •  Информатика

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

👇
Ответ:
din46
din46
09.10.2020

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

}

4,5(57 оценок)
Ответ:
Hdhfr
Hdhfr
09.10.2020

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

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

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

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

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


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


Написать программу на с++ переставить первую и последнюю цифру в записи натурального числа n.
4,4(82 оценок)
Открыть все ответы
Ответ:
ponomarjovakse
ponomarjovakse
09.10.2020

1. Чтобы решить задачу, надо определить, какое количество варенья съест Машенька за 20 дней. Вначале вычислим это количество в ложках, если известно, что за день она съедает по 5 ложек варенья:

5 * 20 = 100 ложек.

2. Теперь переведем 100 ложек варенья в граммы, если известно, что каждая ложка помещает 5 г варенья:

100 * 5 = 500 грамм.

3. Если исходное количество варенья составляет 650 грамм, тогда вычтем из этой массы ту часть, что съест Машенька за 20 дней и получим массу оставшегося варенья через 20 дней:

650 - 500 = 150 грамм.

ответ: получили, что через 20 дней в банке останется всего 150 грамм варенья.

4,7(94 оценок)
Ответ:
Сначала код без комментариев:

Var
S:longint;
i:integer;
A:byte;

Begin
S:=0;
Repeat
   Read(A);
   if (A mod 2 <> 0)and(A mod 7 = 0) then S:=S+A;
Until A = 0;
WriteLn('S = ',S);
End.

Теперь объяснение каждой строки:

Var
S:longint;
i:integer;
A:byte; // В эту переменную будет вводится число с клавиатуры. Тип Byte может принимать значения от 0 до 255. Поэтому его как раз хватит.

Begin
S:=0; // Тут будет храниться сумма, поэтому переменную следует сперва обнулить.

Repeat // далее начинается цикл
   Read(A); // эта команда каждый раз считывает с клавы число, и записывает его в переменную A.

   if (A mod 2 <> 0)and(A mod 7 = 0) then S:=S+A; //тут проверяется 2 условия, и если они выполняются - к переменной S прибавляется значение переменной А
   1 условие: число нечётно, то есть остаток от деления его на 2 не равен нулю (A mod 2 <>0)
   2 условие: Число кратно 7, то есть делится без остатка на 7, то есть остаток от деления равен нулю (A mod 7 = 0)

Until A = 0; // Цикл повторяется до тех пор, пока введённое с клавы число не будет равно нулю (A = 0)

WriteLn('S = ',S); // Тут выводится искомая сумма
End.
4,7(70 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ