int main() { int n; while(scanf("%d",&n)!=EOF&&n) { for(int j=n+1;;++j) { int k=j; int temp=sqrt(static_cast<double>(k)); int prime_sum=0; for(int i=2;i<=temp;++i) { while(k%i==0) { k/=i; temp=sqrt(static_cast<double>(k)); prime_sum+=sum_digit(i); } } if(j==k) continue; if(k!=1) prime_sum+=sum_digit(k); if(prime_sum==sum_digit(j)) { printf("%d\n",j); break; } } } return 0; }
int main() { int n; while(scanf("%d", &n) && n != 0){ while(n > 9){ n = sum_digit(n); } printf("%d\n", n); } return 0; }
/* * Function: f13 * -------------------- * Функция возвращает 1 если сцумма цифр числа меньше переданного параметра * * ч: Число для проверки * param: Число для сравнения * * returns: Резултат проверки */ int f13(int x, void* param) { return sum_digit(x) < *(int*)param; }