Анализ алгоритма
Найдем цифры числа . Ни одна из этих цифр не должна равняться нулю, так как на 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")