[C] 881 Đếm số lượng 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

  • 881 Đếm số lượng 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*/

//881 Đếm số lượng nút có đúng 2 con mà thông tin tại đó là số chính phương
bool SoChinhPhuong(int n)
{
    if (n<=0)
        return 0;
    int s = sqrt((double)n);
    if (s*s == n)
            return 1;
    return 0;
}
int Dem(Tree c)
{
    if (c!=NULL)
    {
        int a = Dem(c->pLeft);
        int b = Dem(c->pRight);
        if (SoChinhPhuong(c->iX))
            if (c->pLeft!=NULL && c->pRight!=NULL)
                return 1 + a + b;
        return a + b;
    }
    return 0;
}

Link source:

Leave a comment