C语言循环语句有点不会用

《天方夜谭》中有这样一个故事:有一群鸽子飞过一棵高高的树,一部分落在树上,其余的落在树下。一只落在树上的鸽子观察了一会儿,对树下的鸽子说:“倘若你们飞上来一只,你们的数目就是鸽群的1/3;倘若我们中飞下去一只,我们和你们的数目恰好相等。”聪明的读者,您能写程序算出树上、树下各有多少只鸽子吗?刚开始学C语言,循环语句有点不会,麻烦哪位会的帮忙看看咋编。

#include<stdio.h>
int main(void)
{
    int i;
    for (i = 2;; i++)
    {
        if((i-1)*3==(i+1)*2)
        {
            break;
        }
    }
    printf("树下的鸟数:%d",i);
    printf("树上的鸟数:%d", (i-1)*2-1);
}