• Помогите, пожалуйста!!!Назовём число новогодним, если его запись не содержит цифры 0, а сумма всех цифр этого числа равна 8. Найти сумму всех новогодних чисел

Ответы 4

  • Ответ 11111111?
    • Автор:

      bebejames
    • 6 лет назад
    • 0
  • Ответ: 26885600459438
  • Должны выполняться оба условия, а не хотя бы одно из них. В этой строке ошибка : if ( !( hasZero(n) ) || sumDigits(n) == 8), меняем на &&.
  • В наихудшем случае, последнее новогоднее число - 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 << '';  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;}
  • Добавить свой ответ

Войти через Google

или

Забыли пароль?

У меня нет аккаунта, я хочу Зарегистрироваться

How much to ban the user?
1 hour 1 day 100 years