當前位置:編程學習大全網 - 編程軟體 - C語言編程(搬磚問題)

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.h>typedef 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); //自己出來結果。}

  • 上一篇:智能機器人編程是學的什麽
  • 下一篇:北大青鳥設計培訓:從事IT行業學哪種編程語言好?
  • copyright 2024編程學習大全網