导航:首页 > 编程语言 > vb百钱百鸡问题程序

vb百钱百鸡问题程序

发布时间:2025-02-19 17:22:19

A. 用VB编写一个“百钱买百鸡”程序

百钱其实可以招鸡,不一定要买鸡。

看你是真心需要答案我就写一个,不过我习惯用C#,语法相近,无非就是一个一元一次方程多个解,公鸡母鸡都是5元一只,你就假设公鸡加母鸡X只,小鸡Y只。方程就是:

5x+y/3=100.

百钱买百鸡意思就是保证XY都是整数就好了,对编程来讲就是一个从1到100遍历X,判断Y是不是真的是整数的过程。可能数学老师神话了这一个方程,但是编程思想就是这么一个简单的原理:

privatevoidbutton1_Click(objectsender,EventArgse)
{
//5x+y/3=100;
intcount=0;
stringy="";
stringresult="";
Regexreg=newRegex(@"^((d|[123456789]d)?|100)$");
for(intx=1;x<100;x++)
{
y=((100-5*x)*3).ToString();
if(reg.IsMatch(y)&&(x+Convert.ToInt32(y))==100)
{
count++;
result+="解"+count.ToString()+":x"+count.ToString()+"="+x.ToString()+"y"+count.ToString()+"="+y.ToString()+" ";
}
}
result=(result=="")?"无解":result;
MessageBox.Show(result);
}

结果你看一下,价格肯定是你乱给的,无解:

他就有解了,而且,我记得好像公鸡母鸡价格不一样

B. 百钱百鸡 VB编程 代码

假设你的百鸡百钱是经典的算法,公鸡5钱,母鸡3钱,3小鸡一钱,下面的代码在VB里面调试通过。
Dim a As Integer, b As Integer, c As Integer
For a = 1 To 20
For b = 1 To 33
c = 100 - a - b
If (a + b + c = 100) And (a * 5 + b * 3 + c / 3 = 100) Then
Print a, b, c
End If
Next b
Next a

C. VB百钱买百鸡

小鸡抄3只值1元吧,用穷举了,下面定义袭 a,b,c变量,5元一只么最多20只,小鸡再多也只是举到100只,穷举判断可。dim a as integer ,b as integer ,c as integer for a=0 to 20for b = 0 to 33for c =0 to 100If 5 * a + 3 * b + 1 / 3 * c = 100 And a + b + c = 100 Then
Print "公鸡" & a, "母鸡" & b, "小鸡" & c endifnextnextnext

D. vb中如何算百元买百鸡问题详解

百元买百鸡问题:
一百个铜钱买了一百只鸡,其中公鸡一只钱、母鸡一只3钱,小鸡一钱3只,问一百只鸡中公鸡、母鸡、小鸡各多少)。
这是一个古典数学问题,设一百只鸡中公鸡、母鸡、小鸡分别为x,y,z,问题化为三元一次方程组:
这本来是数学问题,现在用编写程序的方法解决就变得相对简单。
通常采用枚举算法来实现:
所谓枚举算法,就是一一列举,逐个检验:
关于枚举算法,可以看看我的文章:
http://hi..com/syx54/item/d791e7d8d1ff2b45fa576861

现在用枚举算法来解决本题:
假设:公鸡X只,母鸡Y只,小鸡Z只,
不难知道:
X 不会超过20
Y 不会超过33
Z 不会超过300

并且有关系式:(注意,这两个关系式必须同时成立,才是问题的解)
X + Y + Z = 100
5X + 3Y + Z/3 = 100

采用枚举算法的程序结构,往往就是循环里边嵌套选择;
循环 -- 实现 一一列举,
选择 -- 实现 逐个检验。

程序如下:
Option Explicit

Private Sub Command1_Click()
Dim x As Integer
Dim y As Integer
Dim z As Integer
For x = 1 To 20
For y = 1 To 33
For z = 1 To 300
If x + y + z = 100 And 5 * x + 3 * y + z / 3 = 100 Then
Print x, y, z
End If
Next z
Next y
Next x
End Sub

E. VB 解决问题:百钱买百鸡, 公鸡5钱一只, 母鸡3钱一只, 小鸡1钱3只

Dim a As Integer,b As Integer,c As IntegerFor a=0 To 20For b=0 To 33c=100-a-bIf (5*a+3*b+c/3=100) Then '第一复个条件(a+b+c=100)写不写无所谓,你的制c本来就是用100-a-b得出的,也就是a+b+c一定=100Print a,b,cEnd IfNext bNext a'这里注意嵌套循环的顺序,for循环中b是嵌套在a中的,所以先要next b,然后next a

阅读全文

与vb百钱百鸡问题程序相关的资料

热点内容
苏州租房网站哪个好 浏览:622
共享文件不刷新 浏览:747
怎样设置苹果4书写板 浏览:227
dnf90版本图片 浏览:935
网络促销方案的实施 浏览:466
新时代如何做好网站管理 浏览:274
猎码编程什么意思 浏览:456
网络词军犬什么意思 浏览:621
小学生初步学英语下载什么APp 浏览:293
修真的程序员 浏览:844
验证网站怎么操作 浏览:928
oppo云服务备份数据在哪里 浏览:255
遍历zip文件内文件内容 浏览:660
gpb9文件 浏览:333
微信编辑软件合法吗 浏览:421
miniuijs隐藏列 浏览:371
大风车app上如何进行拍车 浏览:941
文件夹的长是多少厘米 浏览:46
天下三人物升级快 浏览:371
电脑覆盖文件路径 浏览:716

友情链接