Среди трехзначных чисел найти такие которые делятся на цифры из которых состоят - C (СИ)

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

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

Написать исходный текст программы.Среди трехзначных чисел найти такие которые делятся на цифры из которых состоят , а так же перевертыш этих чисел должны делиться на цифры из которых состоят. Вывести на экран

Решение задачи: «Среди трехзначных чисел найти такие которые делятся на цифры из которых состоят»

textual
Листинг программы
#include <stdbool.h>
#include <stdio.h>
 
int get_digit(int number, int n_digit)
{
    while( --n_digit ) {
        number /= 10;
    }
    return number % 10;
}
 
bool is_divided_by_its_digits(int number)
{
    int digit;
    for( int i = 1; i != 4; ++i ) {
        digit = get_digit(number, i);
        if( digit == 0 || number % digit != 0 ) return false;
    }
    return true;
}
 
int get_reverse_number(int number)
{
    int reverse_number = 0;
    int pow10 = 1;
    for( int i = 3; i != 0; --i ) {
        reverse_number += pow10 * get_digit(number, i);
        pow10 *= 10;
    }
    return reverse_number;
}
 
bool divided_by_its_digits[1000];
 
int main(int argc, char* argv[])
{
    int i;
 
    for( i = 100; i != 1000; ++i ) {
        divided_by_its_digits[i] = is_divided_by_its_digits(i);
    }
 
    int reverse_i;
 
    for( i = 100; i != 1000; ++i ) {
        if( divided_by_its_digits[i] ) {
            reverse_i = get_reverse_number(i);
            if( divided_by_its_digits[reverse_i] ) {
                printf("%d and %d\n", i, reverse_i);
                divided_by_its_digits[reverse_i] = false;
            }
        }
    }
 
    return 0;
}

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


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

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

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