編程百錢買百雞
1. 怎樣編程序『公雞五錢一隻,母雞三錢一隻,小雞一錢三隻,用程序編寫百錢買一百隻雞!』
#include <stdio.h>void main(){ int g,m,x for(int i = 0; i < 20;i++) { for(int j = 0;j < 33;j++) { if (5i+3j+(100-i-j)/3=100) { printf("百錢百雞:\n"); printf("公雞、母雞、小雞的數量分別是:\n"); printf(i ,j,100-i-j); } } }}
2. 如何用C++編寫百錢百雞問題
1、百錢買百雞問題——一百個銅錢買了一百隻雞,其中公雞一隻5錢、母雞一隻3錢,小雞一錢3隻,問一百隻雞中公雞、母雞、小雞各多少)。
這是一個古典數學問題,設一百隻雞中公雞、母雞、小雞分別為x,y,z,問題化為三元一次方程組:
這里x,y,z為正整數,且z是3的倍數;由於雞和錢的總數都是100,可以確定x,y,z的取值范圍:
1) x的取值范圍為1~20
2) y的取值范圍為1~33
3) z的取值范圍為3~99,步長為3
對於這個問題可以用窮舉的方法,遍歷x,y,z的所有可能組合,最後得到問題的解。
初始演算法
1.初始化為1;
2.計算x循環,找到公雞的只數;
3.計算y循環,找到母雞的只數;
4.計算z循環,找到小雞的只數;
5.結束,程序輸出結果後退出。
演算法細化
演算法的步驟1實際上是分散在程序之中的,由於用的是for循環,很方便的初始條件放到了表達式之中了。
步驟2和3是按照步長1去尋找公雞和母雞的個數。
步驟4的細化
4.1 z=1
4.2 是否滿足百錢,百雞
4.2.1 滿足,輸出最終百錢買到的百雞的結果
4.2.2 不滿足,不做處理
4.3 變數增加,這里注意步長為3
2、程序代碼如下
#include"stdio.h"
main()
{
intx,y,z;
for(x=1;x<=20;x++)
for(y=1;y<=33;y++)
for(z=3;z<=99;z+=3)
{
if((5*x+3*y+z/3==100)&&(x+y+z==100))/*是否滿足百錢和百雞的條件*/printf("cock=%d,hen=%d,chicken=%d ",x,y,z);
}
}
程序運行結果如下:
cock=4,hen=8,chicken=78
cock=8,hen=11,chicken=81
cock=12,hen=4,chicken=84
3. 百錢買百雞C語言編程 公雞5元/只 母雞3元/只 小雞1元/3隻 求所有滿足條件各雞數目 只用一層
#include<stdio.h>
intmain(intargc,constchar*argv[])
{
intgongji,muji=0,xiaoji=0;
for(gongji=0;gongji<=20;muji++)
{
if(gongji*5+muji*3<=100)
{
printf("公雞:%d 母雞:%d 小雞:%d ",gongji,muji,(100-gongji*5-muji*3)*3);
}
else
{
gongji++;muji=0;
}
}
return0;
}
4. C語言「百錢百雞」,用100塊買100隻雞,公雞3元1隻,母雞5元1隻,小雞1元3隻。代碼我已經打好了。
#include<stdio.h>
voidmain()
{
intcock=0; //公雞的數量公雞3元一隻
inthen=0; //母雞的數量 母雞5元一隻
intchick=0; //小雞的數量 小雞1元三隻
for(cock=0;cock<=33;cock++)//100塊最多買33隻公雞
{
for(hen=0;hen<=20;hen++) //100塊最多買20隻母雞
{
for(chick=0;chick<=300;chick+=3) //100塊最多買300隻小雞小雞一定是3的倍數才可以
{
if(3*cock+5*hen+chick/3==100)//100塊買100隻雞1/3結果是0,這里應該用chick/3
{
printf("公雞的數量為:%d ",cock);
printf("母雞的數量為:%d ",hen);
printf("小雞的數量為:%d ",chick);
}
}
}
}
}
5. 編程解決如下問題:雞翁一,值錢五;雞母一,值錢三;雞雛三,值錢一。百錢買百雞, 問雞翁,雞母,雞雛各
方法:使用三層循環解決。最內層循環每次增三,比自增一效率了三分之二。
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
int main(int argc, char *argv[])
{
for (size_t i = 0; i < 100/5; i++)
{
for (size_t j = 0; j < 100/3; j++)
{
for (size_t k = 0; k < 100; k+=3)
{
if (i + j + k == 100 && i*5 + j*3 + k/3 == 100)
{
printf("公雞:%d母雞:%d小雞:%d ", i, j, k);
}
}
}
}
system("pause");
return 0;
}
張邱建算經上、中、下三卷:
北魏數學家張邱建著。隋劉孝孫細草。唐朝時被李淳風定為《算經十書》之一。清朝乾隆年間,將張邱建算經的北宋刊本收入《四庫全書》子部六。
據《四庫全書提要》,此書唐志記載得一卷,有漢中郡守甄鸞註解的「術曰」、唐朝議大夫行太史令上輕車都尉李淳風的小字按語和唐算學博士劉孝孫的細草「草曰」。
6. C語言百錢百雞
#include <stdio.h>
int main()
{int x,n,a,b,c;
scanf("%d,%d",&n,&x);
for(a=0;a<=x/5;a++)
for(b=0;b<=(x-5*a)/3;b++)
{c=n-a-b;
if(c%3==0&&5*a+3*b+c/3==x)
printf("cock=%d,hen=%d,chicken=%d ",a,b,c);
};
return 0;
}
7. 百錢買百雞用編程的方法怎麼寫
1樓的方法不對,因為沒有保證是百錢,而只是保證百雞。下面是正確的方法:
#include <stdio.h>
#include <stdlib.h>
int main()
{
for (int i = 0; i <= 33; i++)
{
int j_end = (100 - i*3)/5;
for (int j = 0; j <= j_end; j++)
{
int k = (100 - i*3 - j*5)*3;
if (i + j + k == 100)
{
printf("%d %d %d\n", i, j , k);
}
}
}
return 0;
}
程序運行結果:(有4個解)
4 12 84
11 8 81
18 4 78
25 0 75
8. 百錢買百雞怎麼用java寫程序
百錢買百雞問題的Java程序如下
publicclasschick{
publicstaticvoidmain(String[]args){
inti;//母雞
intj;//公雞
intk;//小雞
intnum=0;//一共有幾種
for(i=0;i<=100/5;i++)
{
for(j=0;j<=100/3;j++)
{
for(k=0;k<=100;k=k+3)
{
if(i+j+k==100&&((5*i+3*j+k/3)==100))
{
num++;
System.out.println("第"+num+"種情況");
System.out.println("母雞數"+i+""+"公雞數"+j+""+"小雞數"+k);
}
}
}
}
}
}
運行結果
第1種情況
母雞數0 公雞數25 小雞數75
第2種情況
母雞數4 公雞數18 小雞數78
第3種情況
母雞數8 公雞數11 小雞數81
第4種情況
母雞數12 公雞數4 小雞數84
9. 百錢買百雞的流程圖
#include <stdio.h>。
void main()。
{
int mj,gj,xj,n=0;
printf(" 百元買百雞題求解方案
") ;
printf(" ----------------------
") ;
printf(" 母雞 公雞 小雞
") ;
for(mj=0;mj<=100;mj++)
for(gj=0;gj<=100;gj++)
{
xj=100-mj-gj;
if(xj*0.5+mj*3+gj*2==100)
(9)編程百錢買百雞擴展閱讀:
C的程序比其他用別的語言寫的程序,實現相同的功能,它用的代碼行數更少,而它帶來的運行效率更快。有時候,你的程序所需要的速度,只有C語言能做到。
學習過C語言,就能學習現在任何的高級編程語言。因為所有的高級語言都是以C語言為基礎的(像JAVA,C++,C#等等)。
因為C語言已經存在很多年了,它有廣泛的使用團體並且有大量的現成代碼可以利用。這就使能在過去程序的基礎上,快速和高效的編寫新的演算法和函數。
10. VB編程的問題:如何編寫百錢買百雞的程序
1、打開visual C++ 6.0-文件-新建-文件-C++ Source File。