Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 7095|回复: 6

[已解决]如何写VBA ,用以解答一个 三元二次方程呢?

[复制链接]
发表于 2012-7-25 21:34 | 显示全部楼层 |阅读模式
本帖最后由 1testvba 于 2012-7-25 22:43 编辑

附件::: 0725HELP.rar (27.73 KB, 下载次数: 35)
发表于 2012-7-25 22:06 | 显示全部楼层
请说明K1 K2 K3的取值范围,比如是否都是整数,是否都是正整数,是否可以是0
回复

使用道具 举报

 楼主| 发表于 2012-7-25 22:30 | 显示全部楼层
谢谢 那么帅 老师 回复

(K1,K2,K3的值 要求是整数,>0 。)(因为不知道0 的行不行,还是要求值>0 吧)
回复

使用道具 举报

发表于 2012-7-26 00:16 | 显示全部楼层    本楼为最佳答案   
点击按钮,结果在SHEET2表里
0725help-1.rar (8.9 KB, 下载次数: 123)
回复

使用道具 举报

 楼主| 发表于 2012-7-26 08:06 | 显示全部楼层
那么的帅 发表于 2012-7-26 00:16
点击按钮,结果在SHEET2表里

那么帅 老师 早。

非常感谢。

测试中。。
回复

使用道具 举报

发表于 2012-7-26 09:34 | 显示全部楼层
那么的帅 发表于 2012-7-26 00:16
点击按钮,结果在SHEET2表里


那么的帅老师,请你帮我看一下,谢谢,http://www.excelpx.com/thread-253939-1-1.html
回复

使用道具 举报

发表于 2014-12-3 12:49 | 显示全部楼层
4楼代码是有问题的。无法得到所有解。

对于3个整数的平方和 = 217502634 来说,应该有 21636*8组解。

请看附件:
  1. Sub test()
  2.     Dim ar&(1 To 65530, 1 To 3), a1&, a2&, a3&, s&, x1&, x2&, x3&, k&, l&, m&, cnt, tms#
  3.     tms = Timer
  4.    
  5.     a1 = Range("a2"): a2 = Range("b2"): a3 = Range("c2"): s = Range("d2"): l = Range("e2")
  6. '    a1 = 9342: a2 = 9462: a3 = 7007: s = 217502634
  7.     m = Int(Sqr(s))
  8.     For x1 = 0 To Int(Sqr(s))
  9.         For x2 = 0 To Int(Sqr(s - x1 ^ 2))
  10.             cnt = cnt + 1: If cnt Mod 1000 = 0 Then Application.StatusBar = Format(Timer - tms, "0.000s ") & k & "/" & cnt & Format(x1 / m, " (0.0%) ")
  11.             x3 = Int(Sqr(s - x1 ^ 2 - x2 ^ 2))
  12.             If x1 ^ 2 + x2 ^ 2 + x3 ^ 2 = s Then
  13.                 k = k + 1: ar(k, 1) = x1: ar(k, 2) = x2: ar(k, 3) = x3
  14.                 If k = l Then GoTo Ext
  15.             End If
  16.         Next
  17.     Next
  18. Ext:
  19.     MsgBox Format(Timer - tms, "0.000s ") & k & "/" & cnt
  20.     If k Then Range("a5").CurrentRegion.Offset(1) = "": Range("a6").Resize(k, 3) = ar
  21. End Sub
复制代码

0725help-2.zip

244.63 KB, 下载次数: 27

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-4-28 12:45 , Processed in 0.213072 second(s), 12 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表