Среди трехзначных чисел найти такие которые делятся на цифры из которых состоят - 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; }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д