Example #1
0
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;
}
Example #2
0
int main()
{
    int n;
    while(scanf("%d", &n) && n != 0){
        while(n > 9){
            n = sum_digit(n);
        }
        printf("%d\n", n);
    }
    return 0;
}
Example #3
0
/*
* Function:  f13
* --------------------
* Функция возвращает 1 если сцумма цифр числа меньше переданного параметра
*
*  ч:		Число для проверки
*  param:	Число для сравнения
*
*  returns:	Резултат проверки
*/
int f13(int x, void* param)
{
	return sum_digit(x) < *(int*)param;
}