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

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

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

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

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

textual
Листинг программы
  1. #include <stdbool.h>
  2. #include <stdio.h>
  3.  
  4. int get_digit(int number, int n_digit)
  5. {
  6.     while( --n_digit ) {
  7.         number /= 10;
  8.     }
  9.     return number % 10;
  10. }
  11.  
  12. bool is_divided_by_its_digits(int number)
  13. {
  14.     int digit;
  15.     for( int i = 1; i != 4; ++i ) {
  16.         digit = get_digit(number, i);
  17.         if( digit == 0 || number % digit != 0 ) return false;
  18.     }
  19.     return true;
  20. }
  21.  
  22. int get_reverse_number(int number)
  23. {
  24.     int reverse_number = 0;
  25.     int pow10 = 1;
  26.     for( int i = 3; i != 0; --i ) {
  27.         reverse_number += pow10 * get_digit(number, i);
  28.         pow10 *= 10;
  29.     }
  30.     return reverse_number;
  31. }
  32.  
  33. bool divided_by_its_digits[1000];
  34.  
  35. int main(int argc, char* argv[])
  36. {
  37.     int i;
  38.  
  39.     for( i = 100; i != 1000; ++i ) {
  40.         divided_by_its_digits[i] = is_divided_by_its_digits(i);
  41.     }
  42.  
  43.     int reverse_i;
  44.  
  45.     for( i = 100; i != 1000; ++i ) {
  46.         if( divided_by_its_digits[i] ) {
  47.             reverse_i = get_reverse_number(i);
  48.             if( divided_by_its_digits[reverse_i] ) {
  49.                 printf("%d and %d\n", i, reverse_i);
  50.                 divided_by_its_digits[reverse_i] = false;
  51.             }
  52.         }
  53.     }
  54.  
  55.     return 0;
  56. }

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


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

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

12   голосов , оценка 4.083 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы