• + 0 comments

    simple code

    include

    int isPrime(int n) { if (n < 2) return 0; for (int i = 2; i*i <= n; i++) if (n % i == 0) return 0; return 1; }

    int digitSum(int n) { int s = 0; while (n) s += n % 10, n /= 10; return s; }

    int primeFactorDigitSum(int n) { int s = 0; for (int i = 2; i <= n; i++) { if (isPrime(i)) { while (n % i == 0) { s += digitSum(i); n /= i; } } } return s; }

    int main() { int n; scanf("%d", &n); printf("%d\n", (!isPrime(n) && digitSum(n) == primeFactorDigitSum(n)) ? 1 : 0); return 0; }