Предмет: Информатика, автор: gevgeniy2500

Напишите программу: С клавиатуры вводится трёхзначное число (число десятков и число единиц не равна 0), проверить делится ли оно на каждую из своих цифр.


SergeySerg2002: яп?
SergeySerg2002: "проверить делится ли оно на каждую из своих цифр". Нацело имеется в виду?

Ответы

Автор ответа: MaxLevs
1

Так как язык не указан, приведу пример на SWI-Prolog.

Код:

  • read_int(Int) :- read(Int), integer(Int).
  • split_int_by_numbers(0, []) :- !.
  • split_int_by_numbers(N, [Number|Ints]) :- Number is mod(N, 10), RestN is div(N, 10), split_int_by_numbers(RestN, Ints).
  • test_to_div(_, []).
  • test_to_div(N, [Number|Ints]) :- mod(N, Number) =:= 0, test_to_div(N, Ints).
  • test(Int) :- split_int_by_numbers(Int, Numbers), test_to_div(Int, Numbers), write(Int), write(" - Yes!"), nl.
  • test(Int) :- write(Int), write(" - No!"), nl.
  • ?- read_int(Int), test(Int).
Приложения:

MaxLevs: Первый предикат read_int(Int). - если мы что-то прочитали и это что-то можно мыслить как целое число, то прочитанная информация - целое число.
Автор ответа: SergeySerg2002
1

Ответ:

ЯП: C++

#include <iostream>

int main() {

int number;

std::cout << "Введите трехзначное число: "<< std::endl;

std::cin >> number;

int first_part = number / 100;

int second_part = (number / 10) % 10;

int third_part = number % 10;

if ((first_part) && (second_part) && (third_part))

{

 std::cout << "Вы ввели число: " << number << std::endl;

 if ((!(number % first_part)) && (!(number % second_part)) && (!(number % third_part)))

  std::cout << "Число делится нацело!" << std::endl;

 else

  std::cout << "Число не делится нацело!" << std::endl;

}

else

{

 std::cout<< "Число НЕ должно содержать нулей!";

}

return 0;

}

Объяснение:

Похожие вопросы
Предмет: Русский язык, автор: varuyhinakatya