导航:首页 > 编程语言 > 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百钱百鸡问题程序相关的资料

热点内容
word边框线 浏览:691
财务风险制度文件包含哪些 浏览:336
用来编程的有什么软件 浏览:568
网络机顶盒连不上wifi怎么办 浏览:799
winscp使用教程 浏览:73
word文件名一样怎么排序 浏览:205
linux创建文件夹及目录 浏览:197
手机有网络信号没网络连接不上怎么办 浏览:146
调整图片文件大小用什么软件 浏览:792
java项目读取文件路径 浏览:451
dat文件查看 浏览:567
语音文件转发微信 浏览:865
室内战术板app 浏览:724
苹果数据线弯曲怎么办 浏览:468
怎么删除活动网络 浏览:61
数据线铜丝多少克 浏览:239
caxa基本教程 浏览:370
office2016正式版版本号 浏览:474
私密的文件放在哪里最安全手机 浏览:232
什么软件能连接视频文件 浏览:325

友情链接