国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

C趣味編程百例(06)

2019-11-17 05:40:31
字體:
來源:轉載
供稿:網友

17.平分七筐魚
18.有限5位數
19.除不盡的數---8
20.一個奇異的三位數

17.平分七筐魚
    甲、乙、丙三位魚夫出海打魚,他們隨船帶了21只籮筐。當晚返航時,他們發現有七筐裝滿了魚,還有七筐裝了半筐魚,另外七筐則是空的,由于他們沒有秤,只好通過目測認為七個滿筐魚的重量是相等的,7個半筐魚的重量是相等的。在不將魚倒出來的前提下,怎樣將魚和筐平分為三份?
*問題分析與算法設計
    根據題意可以知道:每個人應分得七個籮筐,其中有3.5筐魚。采用一個3*3的數組a來表示三個人分到的東西。其中每個人對應數組a的一行,數組的第0列放分到的魚的整筐數,數組的第1列放分到的半筐數,數組的第2列放分到的空筐數。由題目可以推出:
    。數組的每行或每列的元素之和都為7;
    。對數組的行來說,滿筐數加半筐數=3.5;
    。每個人所得的滿筐數不能超過3筐;
    。每個人都必須至少有1 個半筐,且半筐數一定為奇數
    對于找到的某種分魚方案,三個人誰拿哪一份都是相同的,為了避免出現重復的分配方案,可以規定:第二個人的滿筐數等于第一個人的滿筐數;第二個人的半筐數大于等于第一個人的半筐數。
*程序與程序注釋
#include<stdio.h>
int a[3][3],count;
void main()
{
    int i,j,k,m,n,flag;
        for(i=0;i<=3;i++)       /*試探第一個人滿筐a[0][0]的值,滿筐數不能>3*/
    {
        a[0][0]=i;
        for(j=i;j<=7-i&&j<=3;j++)    /*試探第二個人滿筐a[1][0]的值,滿筐數不能>3*/
        {
            a[1][0]=j;
            if((a[2][0]=7-j-a[0][0])>3)continue;     /*第三個人滿筐數不能>3*/
            if(a[2][0]<a[1][0])break;    /*要求后一個人分的滿筐數>=前一個人,以排除重復情況*/
            for(k=1;k<=5;k+=2)    /*試探半筐a[0][1]的值,半筐數為奇數*/
            {
                a[0][1]=k;
                for(m=1;m<7-k;m+=2)    /*試探 半筐a[1][1]的值,半筐數為奇數*/
                {
                    a[1][1]=m;
                    a[2][1]=7-k-m;
                    for(flag=1,n=0;flag&&n<3;n++)
                                    /*判定每個人分到的魚是 3.5筐,flag為滿足題意的標記變量*/
                        if(a[n][0]+a[n][1]<7&&a[n][0]*2+a[n][1]==7)
                            a[n][2]=7-a[n][0]-a[n][1];      /*計算應得到的空筐數量*/
                        else flag=0;                        /*不符合題意則置標記為0*/
                    if(flag)
                    {
                        printf("No.%d      Full basket Semi--basket Empty/n",++count);
                        for(n=0;n<3;n++)
                            printf("    fisher %c:    %d    %d    %d/n",
                                                    'A'+n,a[n][0],a[n][1],a[n][2]);
                    }
                }
            }
        }
    }
}
* 運行結果           
It exists possible distribution plans:
    No.1             Full basket           Semi--basket           Empty
  fisher A:                1                    5                    1
  fisher B:                3                    1                    3
  fisher C:                3                    1                    3
    No.2             Full basket           Semi--basket           Empty
  fisher A:                2                    3  &nb


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 德昌县| 格尔木市| 怀来县| 阳西县| 鄂托克前旗| 黔南| 西乡县| 长沙市| 革吉县| 津市市| 永清县| 香港| 五寨县| 巴彦淖尔市| 阳信县| 镇沅| 永寿县| 手机| 青州市| 新疆| 尚志市| 江津市| 井冈山市| 香格里拉县| 鄯善县| 海兴县| 和平县| 鹤岗市| 太谷县| 邢台县| 来凤县| 广宁县| 安新县| 和平县| 兰西县| 中卫市| 新泰市| 北辰区| 惠安县| 达州市| 留坝县|