Online Compiler C

#include <stdio.h> int main() { int N; scanf("%d", &N); int first = 1; // 标志,表示是否是第一个输出的数 for (int num = 10; num <= N; num++) { int sum = 0; int product = 1; int temp = num; while (temp > 0) { int digit = temp % 10; sum += digit; product *= digit; temp /= 10; } if (sum == product) { if (first) { printf("%d", num); first = 0; } else { printf(" %d", num); } } } return 0; }
1) Этот код находит и выводит все числа от 10 до N (включительно), у которых сумма цифр равна произведению цифр. Числа выводятся через пробел, причём перед первым числом пробела нет.

2) Подсказки:
- Обрати внимание на переменную `first` — она помогает правильно форматировать вывод, чтобы не было лишнего пробела в начале.
- Проверь, как работает алгоритм для чисел с нулями (например, 101), так как произведение цифр в таком случае будет равно нулю.