Аналіз алгоритму
Знайдемо цифри числа . Жодна з цих цифр не повинна дорівнювати нулю, оскільки на 0 ділити не можна. Наприклад, для числа 4000 або 3405 відповідь буде “NO”.
Для вирішення задачі спочатку слід перевірити, що жодна з цифр числа не дорівнює 0, а також те що ділиться на і .
Реалізація алгоритму
Читаємо вхідне значення .
scanf("%d", &n);
Нехай . Знаходимо цифри числа .
a = n / 1000; b = n / 100 % 10; c = n / 10 % 10; d = n % 10;
Перевіряємо, не дорівнює жодна з цифр числа нулю. Перевіряємо, чи ділиться число на і .
if (a != 0 && b != 0 && c != 0 && d != 0 && n % a == 0 && n % b == 0 && n % c == 0 && n % d == 0) printf("YES\n"); else printf("NO\n");
Java реалізація
import java.util.*; public class Main { public static void main(String[] args) { Scanner con = new Scanner(System.in); int n = con.nextInt(); int a = n / 1000; int b = n / 100 % 10; int c = n / 10 % 10; int d = n % 10; if (a != 0 && b != 0 && c != 0 && d != 0 && n % a == 0 && n % b == 0 && n % c == 0 && n % d == 0) System.out.println("YES"); else System.out.println("NO"); con.close(); } }
Python реалізація
n = int(input()) a = n // 1000 b = n // 100 % 10 c = n // 10 % 10 d = n % 10 if a != 0 and b != 0 and c != 0 and d != 0 and n % a == 0 and n % b == 0 and n % c == 0 and n % d == 0: print("YES") else: print("NO")