c語言搬磚編程,c語言窮舉法搬磚

本文目錄一覽:

C語言:搬磚問題。36塊磚,36個人搬,男搬4塊,女搬3塊,兩個小孩搬1塊,要求一次搬完,男,女

這是一個循環的問題,設男人女人小孩分別是x y z,x+y+z=36;在算一下取值範圍,男人的取值範圍是0-9;女人得取值範圍是0-12;小孩的取值範圍是0-36-x-y;然後分別寫三個for循環就可以了

C語言搬磚問題?

男3人,女3人,小孩30人。

代碼:

#includestdio.h

int main(){

int man=0,women=0,child=0;

for (man=0;man=9;man++){

for(women=0;women=12;women++){

if((36-man-women)%2==0 (4*man+3*women+(36-man-women)/2)==36)

printf(“男%d人,女%d人,小孩%d人\n”,man,women,36-man-women);

}

}

return 0;

}

擴展資料:

C語言語法結構

順序結構:

順序結構的程序設計是最簡單的,只要按照解決問題的順序寫出相應的語句就行,它的執行順序是自上而下,依次執行。

例如:a = 3,b = 5,現交換a,b的值,這個問題就好像交換兩個杯子裡面的水,這當然要用到第三個杯子,假如第三個杯子是c,那麼正確的程序為:c = a; a = b; b = c;執行結果是a = 5,b = c = 3。

不過大多數情況下順序結構都是作為程序的一部分,與其它結構一起構成一個複雜的程序,例如分支結構中的複合語句、循環結構中的循環體等。

選擇結構:

順序結構的程序雖然能解決計算、輸出等問題,但不能做判斷再選擇。對於要先做判斷再選擇的問題就要使用選擇結構。

選擇結構適合於帶有邏輯或關係比較等條件判斷的計算,設計這類程序時往往都要先繪製其程序流程圖,然後根據程序流程寫出源程序,這樣做把程序設計分析與語言分開,使得問題簡單化,易於理解。程序流程圖是根據解題分析所繪製的程序執行流程圖。

循環結構可以減少源程序重複書寫的工作量,用來描述重複執行某段演算法的問題,這是程序設計中最能發揮計算機特長的程序結構,C語言中提供四種循環,即goto循環、while循環、do while循環和for循環。

一般不提倡用goto循環,因為強制改變程序的順序經常會給程序的運行帶來不可預料的錯誤。

特別要注意在循環體內應包含趨於結束的語句(即循環變數值的改變),否則就可能成了一個死循環,這是初學者的一個常見錯誤。

for(表達式1;表達式2;表達式3)循環體語句 。(其中;不能省略)

參考資料來源:百度百科-C語言

C語言編程:100個人搬100塊磚,每個男人搬4塊,每個女人搬3塊,2個小孩抬一塊磚。問男人、女人

#includestdio.h

int main()

{

int x,y,z;

for(z=0;z=100;z=z+2)

for(y=0;z+y=100;y++)

{

x=100-y-z;

if(4*x+3*y+z/2==100)

printf(“%d,%d,%d\n”,x,y,z);

}

}

x y z 分別為男人,女人,小孩個數

c語言編程題。搬運磚塊:男人一人搬3塊,女人一人搬2塊,小孩兩人搬1塊,問45人搬45塊磚,有多少搬法?

#includeiostream

using namespace std;

/*c語言編程題。搬運磚塊:男人一人搬3塊,女人一人搬2塊,小孩兩人搬1塊,問45人搬45塊磚,有多少搬法?

方程組為:3x+2y+z/2=45;x+y+z=45*/

void main()

{

int x,y,z,i=0;

for(x=0;x=15;x++)

for(y=0;y=90-6*x;y++)

for(z=0;z=90-6*x-4*y;z++)

if(6*x+4*y+z==90x+y+z==45)

{

i++;

cout”第”i”種方案為:男人:”x”個,女人:”y”個,小孩:”z”個”endl;

}

if(i==0)

cout”你丫會出題嗎你?”;

else

cout”這個板磚有”i”拍法。”;

system(“pause”);

}

//經實驗通過

搬磚問題(C語言編程)

//窮舉法,列舉出每一種組合,從中找出符合條件的。

#includestdio.h

void main()

{

int men,women,kids,people,bricks;

for(men=0;men10;men++)

for(women=0;women13;women++)

for(kids=0;kids37;kids=kids+2)

{

people=men+women+kids;

bricks=4*men+3*women+1*(kid/2);

if(people==36bricks==36)

printf(“it needs %d men ,%d women and %d kids\r\n”,men,women,kids);

}

}

C語言編程(搬磚問題)

演算法:4x+3y+z=36x+y+z=36x,y,z屬於小於36的正整數由於36個人搬,所以x不會大於9,y不會大於12,z不會大於36所以直到測試完三個條件才算考慮完畢所有情況為了簡化思路,將三個條件分開首先固定x,如果x不大於9則開始循環 固定y不斷計算z的值,若y值大於13則將x值增加並繼續循環 若z大於36則將y值增加並且繼續循環,每測試完一組值就記錄在一個結構體裡面每記錄完一個結構體就自增計數器並且將結構體放到最後計算完畢之後返回結構體代碼:#include stdio.htypedef struct cdt{ int x,y,z,*num; struct cdt next;}*adt;adt fun(adt link){ adt lk=link; int x,y,z; for(x=1;x!=10;++x){ for(y=1;y!=13;++y){ for(z=1;z!=37;++z){ if((36-4x-3y)=1){ if((z==(36-4x-3y))(z==(36-x-y))){ lk-next =(adt)malloc(sizeof(struct cdt)); lk-x=x,lk-y=y,lk-z=z,*(lk-num)++; lk=lk-next; } } } } } lk-next=null; return link;}int main(void){ adt link=(adt)malloc(sizeof(stuct cdt)); link-num=(int *)malloc(sizeof(int)); *link-num=0; link-next=null; link=fun(link); //自己出來結果。}

原創文章,作者:WMDB,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/132894.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
WMDB的頭像WMDB
上一篇 2024-10-03 23:55
下一篇 2024-10-03 23:55

相關推薦

  • AES加密解密演算法的C語言實現

    AES(Advanced Encryption Standard)是一種對稱加密演算法,可用於對數據進行加密和解密。在本篇文章中,我們將介紹C語言中如何實現AES演算法,並對實現過程進…

    編程 2025-04-29
  • 學習Python對學習C語言有幫助嗎?

    Python和C語言是兩種非常受歡迎的編程語言,在程序開發中都扮演著非常重要的角色。那麼,學習Python對學習C語言有幫助嗎?答案是肯定的。在本文中,我們將從多個角度探討Pyth…

    編程 2025-04-29
  • Python被稱為膠水語言

    Python作為一種跨平台的解釋性高級語言,最大的特點是被稱為”膠水語言”。 一、簡單易學 Python的語法簡單易學,更加人性化,這使得它成為了初學者的入…

    編程 2025-04-29
  • OpenJudge答案1.6的C語言實現

    本文將從多個方面詳細闡述OpenJudge答案1.6在C語言中的實現方法,幫助初學者更好地學習和理解。 一、需求概述 OpenJudge答案1.6的要求是,輸入兩個整數a和b,輸出…

    編程 2025-04-29
  • Python按位運算符和C語言

    本文將從多個方面詳細闡述Python按位運算符和C語言的相關內容,並給出相應的代碼示例。 一、概述 Python是一種動態的、面向對象的編程語言,其按位運算符是用於按位操作的運算符…

    編程 2025-04-29
  • Python語言由荷蘭人為中心的全能編程開發工程師

    Python語言是一種高級語言,很多編程開發工程師都喜歡使用Python語言進行開發。Python語言的創始人是荷蘭人Guido van Rossum,他在1989年聖誕節期間開始…

    編程 2025-04-28
  • Python語言設計基礎第2版PDF

    Python語言設計基礎第2版PDF是一本介紹Python編程語言的經典教材。本篇文章將從多個方面對該教材進行詳細的闡述和介紹。 一、基礎知識 本教材中介紹了Python編程語言的…

    編程 2025-04-28
  • Python語言實現人名最多數統計

    本文將從幾個方面詳細介紹Python語言實現人名最多數統計的方法和應用。 一、Python實現人名最多數統計的基礎 1、首先,我們需要了解Python語言的一些基礎知識,如列表、字…

    編程 2025-04-28
  • Python作為中心語言,在編程中取代C語言的優勢和挑戰

    Python一直以其簡單易懂的語法和高效的編碼環境而著名。然而,它最近的發展趨勢表明Python的使用範圍已經從腳本語言擴展到了從Web應用到機器學習等廣泛的開發領域。與此同時,C…

    編程 2025-04-28
  • Python基礎語言

    Python作為一種高級編程語言擁有簡潔優雅的語法。在本文中,我們將從多個方面探究Python基礎語言的特點以及使用技巧。 一、數據類型 Python基礎數據類型包括整數、浮點數、…

    編程 2025-04-28

發表回復

登錄後才能評論