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

«Исполнитель Делитель» работает только с натуральными числами. СКИ 1. прибавить 4
2. разделить на 3
Составьте алгоритм получения из числа 8 число 8, содержащий не более 6 Команд. В ответе запишите только номера команд

Показать ответ
Ответ:
kotrboy
kotrboy
15.03.2020 01:21
В наихудшем случае, последнее новогоднее число - 11111111.

#include <iostream>

bool isNewYearNumber(int n);
int sumDigits(int num);
bool hasZero(int n);

int main() {
  const int LASTNEWYEARNUMBER = 11111111;
  long long sum = 0;
  for(int i = 0; i <= LASTNEWYEARNUMBER; i++)
    if ( isNewYearNumber(i) )
      sum += i;
  std::cout << "Сумма всех новогодних чисел: " << sum << '\n';
  return 0;
}

bool isNewYearNumber(int n)
{
  if ( !( hasZero(n) ) && sumDigits(n) == 8)
    return true;
  else
    return false;
}

int sumDigits(int num)
{
  int sum = 0;
  while ( num > 0 ) {
    sum += num % 10;
    num /= 10;
  }
  return sum;
}

bool hasZero(int n)
{
  if (n < 0)
    n = -1 * n;
  if (n % 10 == 0)
    return true;
  else if (n / 10 > 0)
     hasZero(n / 10);
  else
    return false;
}
0,0(0 оценок)
Ответ:
JodiRimmet27
JodiRimmet27
15.03.2020 01:21
В наихудшем случае, последнее новогоднее число - 11111111.

#include <iostream>

bool isNewYearNumber(int n);
int sumDigits(int num);
bool hasZero(int n);

int main() {
  const int LASTNEWYEARNUMBER = 11111111;
  long long sum = 0;
  for(int i = 0; i <= LASTNEWYEARNUMBER; i++)
    if ( isNewYearNumber(i) )
      sum += i;
  std::cout << "Сумма всех новогодних чисел: " << sum << '\n';
  return 0;
}

bool isNewYearNumber(int n)
{
  if ( !( hasZero(n) ) && sumDigits(n) == 8)
    return true;
  else
    return false;
}

int sumDigits(int num)
{
  int sum = 0;
  while ( num > 0 ) {
    sum += num % 10;
    num /= 10;
  }
  return sum;
}

bool hasZero(int n)
{
  if (n < 0)
    n = -1 * n;
  if (n % 10 == 0)
    return true;
  else if (n / 10 > 0)
     hasZero(n / 10);
  else
    return false;
}
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота