求各位解惑算数问题 C语言

马克思手稿中有一道趣味数学题:有30个人,其中有男人、女人和小孩,在一家饭馆里吃饭共花了50先令,每个男人各花3先令,每个女人各花2先令,每个小孩各花1先令,问男人、女人和小孩各有几人?输出所有的可能结果。


#include <stdio.h>
int main()
{
    //i man; j woman
    int i, j, k;
    for (i = 1; i < 30; ++i)
    {
        for (j = 1; j < 30; ++j)
        {
            k = 30 - i - j;
            if (k <= 0) continue;
            if (3 * i + 2 * j + k == 50) printf("男人有%d人,女人有%d人,小孩有%d人\n", i, j, k);
        }
    }
    
    return 0;
}

img