Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Программирование на С++

Cacao Falls Ученик (103), на голосовании 14 часов назад
Напишите программу на языке C++, которая запрашивает у пользователя натуральное число N и находит количество чисел в промежутке от 1 до N (включительно) удовлетворяющих условию:

Сумма цифр числа равна 7

Входные данные:

Вводится натуральное число 1 <= N<= 100000.



Выходные данные:

Количество чисел от 1 до N, удовлетворяющих условию:

Сумма цифр числа равна 7
Так, например, если программе на вход подать число 40, она должна вывести число 4, т.к. сумма цифр в числах 7, 16, 25, 34 равна 7



В поле краткого ответа введите количество чисел, при N = 1000
Голосование за лучший ответ
Игорь Тестов Профи (882) 1 месяц назад
 #include  

using namespace std;

// Функция для нахождения суммы цифр числа
int sum_of_digits(int number) {
int sum = 0;
while (number > 0) {
sum += number % 10;
number /= 10;
}
return sum;
}

int main() {
int N;
cin >> N; // Вводим число N

int count = 0;

// Перебираем все числа от 1 до N и считаем те, у которых сумма цифр равна 7
for (int i = 1; i <= N; ++i) {
if (sum_of_digits(i) == 7) {
count++;
}
}

cout << count << endl; // Выводим результат

return 0;
}
Cacao FallsУченик (103) 1 месяц назад
Огромное спасибо!
Cacao Falls, а какое у тебя число по итогу вышло в кратком ответе?
Миша Пероговский Знаток (263) 1 месяц назад
#include <iostream>

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

int main() {
int N, count = 0;
std::cin >> N;

for (int i = 1; i <= N; ++i) {
if (sumOfDigits(i) == 7) {
++count;
}
}

std::cout << count << std::endl;
return 0;
}
Рустам Абдрашитов Мыслитель (8503) 1 месяц назад
 #include  
#include

using namespace std;

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

bool isValidInput(int N) {
return (N >= 1 && N <= 100000);
}

int main() {
int N;

cout << "==============================" << endl;
cout << " Счётчик чисел с суммой цифр" << endl;
cout << " равной 7" << endl;
cout << "==============================" << endl;

while (true) {
cout << "Введите натуральное число N (1 <= N <= 100000) или 0 для выхода: ";
cin >> N;

if (N == 0) {
cout << "Выход из программы." << endl;
break;
}

if (cin.fail() || !isValidInput(N)) {
cin.clear();
cin.ignore(numeric_limits::max(), '\n');
cout << "Ошибка: введите корректное натуральное число в диапазоне от 1 до 100000." << endl;
} else {
int count = 0;

for (int i = 1; i <= N; i++) {
if (sumOfDigits(i) == 7) {
count++;
}
}

cout << "Количество чисел от 1 до " << N
<< ", сумма цифр которых равна 7: "
<< count << endl;
}

cout << "--------------------------------" << endl;
}

return 0;
}
Похожие вопросы