[C] 892 Tính tổng các nút có đúng 2 con mà thông tin tại nút đó là số chính phương

Tác giả:

  • Trần Hán Huy – tranhanhuy.wordpress.com

Sách:

  • Bài tập kĩ thuật lập trình C/C++ – Nguyễn Tấn Trần Minh Khang

Đề bài

  • 892 Tính tổng các nút có đúng 2 con mà thông tin tại nút đó là số chính phương

Code

/*Nick yahoo: conloyal*/
/*Soft: visual studio 2008*/

//892 Tính tổng các nút có đúng hai con mà thông tin nút đó là số chính phương
bool SoChinhPhuong(int n)
{
    int a = sqrt((double)n);
    if (a*a != n)
        return false;
    return true;
}
int Tinh(Tree c)
{
    if (c!=NULL)
    {
        int a = Tinh(c->pLeft);
        int b = Tinh(c->pRight);
        if (SoChinhPhuong(c->iX))
            if (c->pLeft != NULL && c->pRight != NULL)
                return c->iX + a + b;
        return a + b;
    }
    return 0;
}

Link source:

Leave a comment