| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1332 人关注过本帖
标题:[求助]哪位兄弟帮忙算下这个公式
只看楼主 加入收藏
zhenxin
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2007-2-2
收藏
 问题点数:0 回复次数:17 
[求助]哪位兄弟帮忙算下这个公式
哪位兄弟帮忙算下这个公式

有没有兄弟可以帮我把这道题帮忙用程序算出来:题目如下。
X*379.08+Y*182.25约等于609526.24
X,Y是整数。误差在1之内。求X,Y的值
谢谢。。

搜索更多相关主题的帖子: 公式 兄弟 
2007-02-02 15:03
slore
Rank: 5Rank: 5
等 级:贵宾
威 望:16
帖 子:1108
专家分:0
注 册:2005-7-1
收藏
得分:0 
1086,1085?

快上课了……
2007-02-02 19:43
qhscqb
Rank: 1
等 级:新手上路
威 望:1
帖 子:343
专家分:0
注 册:2007-2-3
收藏
得分:0 
将X和Y定义成long是不是就可以了

编程快乐,快乐编程! 没有最好,只有更好!
2007-02-03 12:34
zsolong
Rank: 1
等 级:新手上路
威 望:1
帖 子:193
专家分:0
注 册:2006-12-15
收藏
得分:0 

如果X,Y限定是整数的话,最好的情况是:
最终的结果是609524.2 (最终结果误差2)
可以根据表达式看出X的最大值是:1608,Y的最大值是: 3345
此时符合条件的X,Y的值有64组之多(这里应该是全部的解).具体如下:

18,3307 43,3255 68,3203 93,3151 118,3099 143,3047 168,2995 193,2943 218,2891 243,2839
268,2787 293,2735 318,2683 343,2631 368,2579 393,2527 418,2475 443,2423 468,2371 493,2319
518,2267 543,2215 568,2163 593,2111 618,2059 643,2007 668,1955 693,1903 718,1851 743,1799
768,1747 793,1695 818,1643 843,1591 868,1539 893,1487 918,1435 943,1383 968,1331 993,1279
1018,1227 1043,1175 1068,1123 1093,1071 1118,1019 1143,967 1168,915 1193,863 1218,811 1243,759
1268,707 1293,655 1318,603 1343,551 1368,499 1393,447 1418,395 1443,343 1468,291 1493,239
1518,187 1543,135 1568,83 1593,31

算法是最原始的: 枚举

Private Sub Command1_Click()
Dim intI As Long
Dim intJ As Long
Dim intK As Long
Dim intM As Long
Dim SUM As Single
Dim blnHaveResults As Boolean
Dim arySUM(1000, 2)

For intI = 0 To 1608
For intJ = 0 To 3345
SUM = intI * 379.08 + intJ * 182.25
If (SUM >= 609525) And (SUM <= 609528) Then 'Sum的范围如果在609524-609528范围内会得出上面的结果
现在改成609525-609528,就需要把intI ,intJ 的范围放大才能看是
否能够算出相应的解
blnHaveResults = True
arySUM(intK, 0) = intI
arySUM(intK, 1) = intJ
arySUM(intK, 2) = SUM

Text1.Text = Text1.Text & arySUM(intK, 0) & "," & arySUM(intK, 1) & " "
intK = intK + 1
intM = intM + 1

If intM = 10 Then
Text1.Text = Text1.Text & vbCrLf
intM = 0
End If

End If
Next intJ
Next intI

If blnHaveResults <> True Then
MsgBox "No Value"
End If

End Sub

[此贴子已经被作者于2007-2-5 9:42:09编辑过]


2007-02-03 16:10
hyhhd
Rank: 2
等 级:论坛游民
威 望:1
帖 子:502
专家分:44
注 册:2006-5-12
收藏
得分:0 

但是题目要求:1、X,Y是整数,2、误差在1之内。如果为整数,则xy可为负数的整数,而且计算结果与609526.24的误差在1之内。上面的代码没有体现出来!


2007-02-03 21:15
hyhhd
Rank: 2
等 级:论坛游民
威 望:1
帖 子:502
专家分:44
注 册:2006-5-12
收藏
得分:0 
xy解出的结果应该是一个集合,应该有无穷个解,因为x为正时,y可以为负。

[此贴子已经被作者于2007-2-3 21:22:10编辑过]



2007-02-03 21:20
hyhhd
Rank: 2
等 级:论坛游民
威 望:1
帖 子:502
专家分:44
注 册:2006-5-12
收藏
得分:0 
实际上“X*379.08+Y*182.25=609526.24”是一个斜率k小于0的直线方程。

2007-02-03 21:29
hyhhd
Rank: 2
等 级:论坛游民
威 望:1
帖 子:502
专家分:44
注 册:2006-5-12
收藏
得分:0 
但要得出唯一答案,关键条件在于“误差小于1”。

2007-02-03 21:33
hyhhd
Rank: 2
等 级:论坛游民
威 望:1
帖 子:502
专家分:44
注 册:2006-5-12
收藏
得分:0 
这道题好像无解!

2007-02-04 00:06
qhscqb
Rank: 1
等 级:新手上路
威 望:1
帖 子:343
专家分:0
注 册:2007-2-3
收藏
得分:0 
顶!

编程快乐,快乐编程! 没有最好,只有更好!
2007-02-04 11:05
快速回复:[求助]哪位兄弟帮忙算下这个公式
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017664 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved