Найти и вывести все числа в интервале от 1 до N–1, у которых произведение всех цифр совпадает с произведением цифр данного числа - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Дано натуральное число N. Найти и вывести все числа в интервале от 1 до N–1, у которых произведение всех цифр совпадает с произведением цифр данного числа. Если таких чисел нет, то вывести слово «нет». Пример. N = 32. Числа: 6, 16, 23. в Си

Решение задачи: «Найти и вывести все числа в интервале от 1 до N–1, у которых произведение всех цифр совпадает с произведением цифр данного числа»

textual
Листинг программы
#include <stdio.h>
#include <math.h>
#include <locale.h>
 
bool true_or_false(int a, int prz);
int main(){
    setlocale(LC_ALL, "rus");
    
    int n;
    int i;
    int prz = 1;
    int a;
 
    printf("Введите N: ");
    scanf("%d", &n);
    a = n;
    while(n > 0){
        prz = prz * (n%10);
        n = n/10;   
    }
 
    for(i = 1; i < a; i++){
        if(true_or_false(i, prz))
            printf("%d ", i);
    }
 
    return 0;
}
bool true_or_false(int a, int prz){
    int przA = 1;
    przA = a%10;
    a = a/10;
    while(a > 0){
        przA = przA * (a%10);
        a = a/10;
    }
 
    if(przA == prz)
        return true;
    else
        return false;
    
}

Объяснение кода листинга программы

В этом коде:

  1. Мы включаем необходимые библиотеки и устанавливаем русскую локаль.
  2. Затем определяем функцию true_or_false, которая проверяет, совпадает ли произведение цифр числа с заданным числом prz.
  3. В функции main мы считываем число n и инициализируем переменные a и prz значением n.
  4. Далее мы вычисляем prz, перемножая цифры числа n в обратном порядке.
  5. Затем мы вычисляем все числа в диапазоне от 1 до n-1 и проверяем, совпадает ли произведение их цифр с prz с помощью функции true_or_false.
  6. Если число удовлетворяет условию, мы выводим его.
  7. В конце функции main возвращается 0, что означает успешное выполнение программы.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

11   голосов , оценка 4.091 из 5
Похожие ответы