標題:

C 的雞兔同籠問題 > <”

發問:

aa.jpg

 

此文章來自奇摩知識+如有不便請留言告知

我們老師要考試了給我們10題功課 我做出了9題! 嘿嘿 可是有一題就是做不出來.. 這個是題目 >> 輸入一正數N,N代表腳的數目,求出雞有幾隻,兔有幾隻的可能情況。若無解請顯示無此種情況。 測試值一: 輸入: N=6 輸出: 1.雞有3隻,兔有0隻 2.雞有1隻,兔有1隻 測試值二: 輸入: N=5 輸出: 無解 唉~超出我智商範圍了..真的想不出來 更新: 那個是C吧...有點看不懂ㄝ 我想要#include的 可以媽...謝謝 更新 2: 不行ㄝ.... if((2*i 4*j)==n) 這個怪怪的吧.... 可以告訴我步驟媽...我只要步驟就OK了...

最佳解答:

#include int main() { int i,j,n,count=0; printf("輸入一正數N,N代表腳的數目: "); scanf("%d",&n); for(i=0;i<=n/2;i++) for(j=0;j<=n/4;j++) if((2*i+4*j)==n){ count++; printf("%d. 雞有%d隻,兔有%d隻 ",count,i,j); } if(count==0) printf("無解 "); } p.s:原始執行環境為gcc 2006-12-22 18:27:56 補充: printf中的n是\n的意思~因為這裡不讓人直接打出\ ,所以請自己加上 2006-12-22 19:35:05 補充: #include int main(void) { int i,j,n,count=0; cout<<"?é¤J¤@¥???N?AN¥Naí?}ao??¥?: "; cin>>n; for(i=0;i<=n/2;i ) for(j=0;j<=n/4;j ) if((2*i 4*j)==n){ count ; cout< int main(void) { int i,j,n,count=0; cout<<"輸入一正數N,N代表腳的數目: "; cin>>n; for(i=0;i<=n/2;i ) for(j=0;j<=n/4;j ) if((2*i 4*j)==n){ count ; cout<
其他解答:

用試的就可以了, 如下 i 是兔子的隻數, 最多不會超過 n / 4 隻 n - i*4就是剩下的腳數, 除以二整除的話 就表示有答案 這時 就會有 (n-i*4) /2 隻雞 , i 隻兔子. #include #include main() { int n, i, count, remain; printf("N="); scanf("&d", n); count = 0; for (int i = 0; i <= n/4; i++) { remain = n - i * 4; if (remain % 2 == 0) { count++; printf("%d. 雞有%d隻,兔有%d隻", count, remain / 2, i ); } } if (count == 0) { printf("無解"); } }
arrow
arrow
    文章標籤
    没有合适的结果
    全站熱搜

    dvhtlbz 發表在 痞客邦 留言(0) 人氣()