All pastes #990962 Raw Edit

Miscellany

public text v1 · immutable
#990962 ·published 2008-04-20 16:46 UTC
rendered paste body
int is_self (int n)
{
        int param_1, param_2, scan_cond, i;

        scan_cond = digits(n);                                  /*metabliti pou apothikeuei ti sinthiki gia na ginei o elegxos kaprekar*/

        if ( (param_1 = sod(n) % 9) == 0)                       /*orismos protis parametrou elegxou kaprekar gia ton an exoume self number*/
                param_1 = 9;

        if ( param_1 % 2 == 0)                                  /*orismos deuteris parametrou elegxou kaprekar gia to an exoume self number*/
                param_2 = param_1 / 2;
        else 
                param_2 = (param_1 + 9) / 2;

        for ( i=0 ; i <= scan_cond && k = n-param_2 -9*i + sod(k) != n ; i++) {
                ;
        }                                                       /*elegxos kaprekar http://en.wikipedia.org/wiki/Self_number#Effective_test*/

        if i == scan_cond
                {printf("%d \n", n);
                return 1;}
        else 
                return 0;
}