В
Все
М
Математика
А
Английский язык
Х
Химия
Э
Экономика
П
Право
И
Информатика
У
Українська мова
Қ
Қазақ тiлi
О
ОБЖ
Н
Немецкий язык
Б
Беларуская мова
У
Українська література
М
Музыка
П
Психология
А
Алгебра
Л
Литература
Б
Биология
М
МХК
О
Окружающий мир
О
Обществознание
И
История
Г
Геометрия
Ф
Французский язык
Ф
Физика
Д
Другие предметы
Р
Русский язык
Г
География
romanovanelya
romanovanelya
02.06.2020 12:11 •  Информатика

Составьте программу для машины Тьюринга складывающую и вычитающую следующие числа. 28, 45, 62, 83, 99,27,85,96,23,54,75
105, 359, 650, 893,123,145,536,235,471,129,621

Показать ответ
Ответ:
Amina141002
Amina141002
10.06.2021 20:42

Полагаю, это дубликат но без данных о входных/выходных данных. Тогда я продублирую решение на C#.

using System;

using System.Linq;

namespace Samokat

{

   class Program

   {

       static void Main(string[] args)

       {

           var input = Console.In

               .ReadLine()

               .Split(',', ' ')

               .Where(t => !String.IsNullOrEmpty(t))

               .Select(int.Parse)

               .ToList();

           int flatLen = input[0];

           int uphillLen = input[1];

           int flatDrain = input[2];

           int uphillDrain = input[3];

           int fuel = input[4];

           // minimizing flat travel

           int minFlatLen = flatLen - fuel;

           minFlatLen = minFlatLen < 0 ? 0 : minFlatLen;

           int maxUphillLen = uphillLen - (fuel - (flatLen - minFlatLen)) / 2;

           maxUphillLen = maxUphillLen < 0 ? 0 : maxUphillLen;

           // minimizing uphill travel

           int minUphillLen = uphillLen - (fuel) / 2;

           minUphillLen = minUphillLen < 0 ? 0 : minUphillLen;

           int maxFlatLen = flatLen - (fuel - (uphillLen - minUphillLen) * 2);

           maxFlatLen = maxFlatLen < 0 ? 0 : maxFlatLen;

           int minFlatTravelDrain = minFlatLen * flatDrain + maxUphillLen * uphillDrain;

           int maxFlatTravelDrain = maxFlatLen * flatDrain + minUphillLen * uphillDrain;

           var minDrain = Math.Min(minFlatTravelDrain, maxFlatTravelDrain);

           var maxDrain = Math.Max(minFlatTravelDrain, maxFlatTravelDrain);

           Console.Out.WriteLine(minDrain);

           Console.Out.WriteLine(maxDrain);

       }

   }

}

0,0(0 оценок)
Ответ:
naragagik2001
naragagik2001
05.09.2022 21:37
Чтобы перевести число \overline{x_0x_1x_2...x_n}_k из k системы счисления (k≥2, k∈N), в десятичную, необходимо разложить на сумму следующих произведений: x_0\cdot k^{n}+x_1\cdot k^{n-1}+x_2\cdot k^{n-2}+...+x_n\cdot k^0  и вычислить её.

То есть 345₆ = 3·6²+4·6¹+5·6⁰ = 3·36+4·6+5·1 = 137₁₀

Однако все числа имеют одинаковые цифры в разрядах, поэтому для удобства вычислений, считать будем чуть иначе.

345₁₀ = 3·10²+4·10¹+5·10⁰ = 3·100+4·10+5

345₉ = 3·9²+4·9¹+5·9⁰ = 3·81+4·9+5 = 3·(100-19)+4·(10-1)+5

345₈ = 3·8²+4·8¹+5·8⁰ = 3·64+4·8+5 = 3·(81-17)+4·(9-1)+5

345₇ = 3·7²+4·7¹+5·7⁰ = 3·49+4·7+5 = 3·(64-15)+4·(8-1)+5

345₆ = 3·6²+4·6¹+5·6⁰ = 3·36+4·6+5 = 3·(49-13)+4·(7-1)+5

345₉ = 345-3·19-4·1 = 284₁₀

345₈ = 284-3·17-4·1 = 229₁₀

345₇ = 229-3·15-4·1 = 180₁₀

345₆ = 180-3·13-4·1 = 137₁₀

0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота