算法與數據結構之枚舉算法

1.枚舉算法的核心思想:算法

將全部問題的可能性一一列舉。

2.枚舉算法的應用:spa

《百錢找百雞》

問題:
公雞每隻5元,母雞每隻3元,小雞3只1元。用100元買100只雞code

問公雞,母雞,小雞各多少?

3.解決問題的核心思想:對象

以3種雞的個數爲枚舉對象(gj,mj,xj)

4.枚舉條件:
gj+mj+xj=100;[個數之和]圖片

gj5+mj3+xj/3=100;[用錢之和]get

xj%3==0;[小雞個數必定能夠取餘3,由於xj個數和購買花的錢必須爲整數]it

5.代碼實現:class

int main()
{
    //過程:分別枚舉公雞,母雞的個數範圍知足條件進行輸出。
    int x, y, z;//分別表示公雞,母雞和小雞的個數
    for (x = 0; x <= 20; x++)//公雞個數範圍:0-20只,用100元除以每隻公雞的錢
    {
        for (y = 0; y <= 33; y++)//母雞個數範圍:0-33只,用100元除以每隻母雞的錢
        {
            z = 100 - x - y;//z表示小雞的個數
            if (z % 3 == 0 && x * 5 + y * 3 + z / 3 == 100)
                printf("公雞:%d,母雞:%d,小雞:%d\n", x, y, z);
        }
    }
    getch();
    return 0;
}

6.代碼實現效果圖:
圖片描述im

相關文章
相關標籤/搜索