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

Исполнитель Калькулятор преобразует число на экране. У
исполнителя есть две команды, которым присвоены номера:
1. Прибавить 1
2. Умножить на 3
Программа для исполнителя Калькулятор – это последовательность
команд. Сколько существует программ, для которых при исходном
числе 4 результатом является число 50 и при этом траектория
вычислений содержит число 6 и не содержит числа 12?
Excel

Показать ответ
Ответ:
dlimfam
dlimfam
20.07.2021 20:54

--- Python 3.8.3 ---

n = int(input('n: \n'))

counter = 0

for coin1 in range(0, n+ 1):

  for coin2 in range(0, (n // 2) + 1):

      for coin5 in range(0, (n // 5) + 1):

          for coin10 in range(0, (n // 10) + 1):

              if coin1 * 1 + coin2 * 2 + coin5 * 5 + coin10 * 10 == n: counter += 1

print(counter)

для n в пределах 100-200 считает вроде правильно, и достаточно быстро. Что до больших значений n, мне не хватило терпения. Ненормально это, успеть попить чаю в ожидании конца работы программы в 8 строк.

При желании можно использовать как стресс-тест ЦПУ

0,0(0 оценок)
Ответ:
зика23
зика23
18.09.2022 22:17

#include <iostream>

#include <cmath>

#include <vector>

using namespace std;

void show_vector(vector <unsigned int> a)

{

   for (unsigned int i = 0; i < a.size() - 1; i++)

       cout << a[i] << " ";

   cout << a.back() << endl;

}

       

bool f_prostoe(unsigned int x)

{

   bool prostoe = true;

   for(unsigned int i = 2; i <= int(sqrt(x)); i++)

   {

       if (x % i == 0)

       {

           prostoe = false;

           break;

       }

   }

   return prostoe;

}

int main()

{

   bool pustoi = true;

   vector <unsigned int> chisla = {0};

   cout << "Введите диапазон, вначале min, затем max." << endl;

   cout << "min = ";

   unsigned int x;

   cin >> x;

   cout  <<"max = ";

   unsigned int y;

   cin >> y;

   for(x = x; x <= y; x++)

   {

       if(f_prostoe(x))

       {

           if (pustoi)

           {

               pustoi = false;

               chisla.pop_back();

           }

           chisla.push_back(x);

       }

   }

   cout << "Простые числа: " << endl;

   show_vector(chisla);

   return 0;

}

Объяснение:

В коде есть костыли, но он работает.

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