1樓:匿名使用者
參閱這個:法國著名數學家波瓦松在表年時代研究過乙個有趣的數學問題:某人有12品脫的啤酒一瓶,想從中倒出6品脫,但他沒有6品脫的容器,僅有乙個8品脫和5品脫的容器,怎樣倒才能將啤酒分為兩個6品脫呢?
*問題分析與演算法設計。
將12品脫酒 8品脫和5品脫的空瓶平分,可以抽象為解不定方程:
8x-5y=6
其意義是:從12品脫的瓶中向8品脫的瓶中倒x次,並且將5品脫瓶中的酒向12品脫的瓶中倒y次,最後在12品脫的瓶中剩餘6品脫的酒。
用a,b,c代表12品脫、8品脫和5品脫的瓶子,求出不定方程的整數解,按照不定方程的意義則倒法為:
a ->b ->c ->a
x y倒酒的規則如下:
1) 按a ->b ->c ->a的順序;
2) b倒空後才能從a中取。
3) c裝滿後才能向a中倒。
按以上規則可以編寫出程式如下:
*程式說明與注釋。
#include
void getti(int a,int y,int z);
int i; /最後需要分出的重量*/
int main()
void getti(int a,int y,int z) /a:滿瓶的容量 y:第乙個空瓶的容量 z:第二個空瓶的容量*/
/*如果第一瓶為空,則將滿瓶倒入第一瓶中*/
else if(c==z)
/*如果第二瓶滿,則將第二瓶倒入滿瓶中*/
else if(b>z-c) /如果第一瓶的重量》第二瓶的剩餘空間*/
/*則將裝滿第二瓶,第一瓶中保留剩餘部分*/
else /*否則,將第一瓶全部倒入第二瓶中*/
printf(" 4d %4d %4d",a,b,c);
2樓:匿名使用者
沒思路啊。我的做法是這樣。
我先吧l7整滿,-3-3後這樣l7就有有1l的水了,迴圈5次就哦了,沒啥思路。就不寫碼了。
C語言課程設計,C語言課程設計題目
程式如下 課題 猜數遊戲。功能要求 計算機產生隨機數,猜中即勝,猜不中,提示是大了還是小了,繼續猜,直至猜到,給出所用時間和評語。include include include void main else if n4 count 6 printf 猜對了!只是次數有點多哈哈。用時 2f毫秒 ela...
C語言高手請進100分跪求課程設計急急急可追加分
做個標記,我加你qq了 發到你郵箱去了 include main 哇哇,分好多,給你一個 barycenter.c include include include include define ndebug include include barycenter.h struct barycenter...
化工原理課程設計,化工原理課程設計
實踐總週數 2周 總學分 2學分。特別是化學工程與工藝的專業,設計設計步驟。1 性質 目的 化工原理課程設計是化工原理教學的一個重要環節,是綜合應用本門課程和有關先修課程所學知識,完成以單元操作為主的一次設計實踐。通過課程設計使學生掌握化工設計的基本程式和方法,並在查閱技術資料 選用公式和資料 用簡...