• Предмет: Информатика
  • Автор: DavidDaviduch
  • Вопрос задан 4 месяца назад

(C++) Виведіть в консоль усі цифри від 10 до 1000

Виведіть в консоль усі цифри від 10 до 1000
в яких цифри не повторюються
10 - виводимо
11 - не виводимо
100 - не виводимо
101 - не виводимо
123 - виводимо
в кінці виведіть кількість виведених цифр та їх суму
(Не треба робити все професійно)

Ответы

Ответ дал: staanchik
1

Ответ:

#include <iostream>

#include <set>

bool no_repeating_digits(int number) {

   std::set<int> digits;

   while (number > 0) {

       int digit = number % 10;

       if (digits.find(digit) != digits.end()) {

           return false;

       }

       digits.insert(digit);

       number /= 10;

   }

   return true;

}

int main() {

   int count = 0;

   int sum = 0;

   for (int i = 10; i <= 1000; i++) {

       if (no_repeating_digits(i)) {

           std::cout << i << std::endl;

           count++;

           sum += i;

       }

   }

   std::cout << "Кількість виведених чисел: " << count << std::endl;

   std::cout << "Сума виведених чисел: " << sum << std::endl;

   return 0;

}

Объяснение:Для того, щоб вирішити цю задачу на C++, вам потрібно створити програму, яка виводить у консоль відповідні числа і пораховує кількість цих чисел та їх суму. Ось приклад програми.Цей код створює функцію no_repeating_digits, яка перевіряє, чи є в числі повторювані цифри. Ця функція використовує std::set для зберігання перевірених цифр. В main функції ми перебираємо числа від 10 до 1000, виводимо числа без повторюваних цифр та зберігаємо їх кількість та суму.


DavidDaviduch: Мені подобається, але як я говорив повинно бути все простіше (Не професійно) А саме, скрипт повинен працювати без: #include , std::, (no_repeating_digits), digits.insert, return false;, і все, що пов'язано з digits, я ставлю п'ять зірок і кнопку дякую, але хотілося б бачити простий варіант
Вас заинтересует