24小时热门版块排行榜    

查看: 1413  |  回复: 6

shangxj

金虫 (正式写手)

[求助] 如何用mathematica8解这一方程的所有整数解?

如题
方程为0.91x+0.45y+0.75z=70

请大侠不吝相助,并另有奖励奉上。
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

shangxj

金虫 (正式写手)

还没有达人看到吗?
还是根本就无法解?
2楼2012-06-04 12:58:02
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

dingd

铁杆木虫 (职业作家)

【答案】应助回帖


感谢参与,应助指数 +1
zhangguangping: 金币+1, 谢谢指教! 2012-06-04 20:37:11
有无穷多组解吧!
有无穷多组解吧!
3楼2012-06-04 14:43:00
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

zhangguangping

木虫 (著名写手)

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★
shangxj: 金币+10, ★★★很有帮助, 编程解决问题真是好,谢谢回应。 2012-06-06 17:50:45
虽然你要求用mathematica8解这个方程的整数解。但是我不会mathematica8这个软件。我用Fortran编写了一段小程序,给你解了一下。为了减小计算量,首先解了一下非负整数解如下:
x =    10  y =     2  z =    80
x =    10  y =     7  z =    77
x =    10  y =    12  z =    74
x =    10  y =    17  z =    71
x =    10  y =    22  z =    68
x =    10  y =    27  z =    65
x =    10  y =    32  z =    62
x =    10  y =    37  z =    59
x =    10  y =    42  z =    56
x =    10  y =    47  z =    53
x =    10  y =    52  z =    50
x =    10  y =    57  z =    47
x =    10  y =    62  z =    44
x =    10  y =    67  z =    41
x =    10  y =    72  z =    38
x =    10  y =    77  z =    35
x =    10  y =    82  z =    32
x =    10  y =    87  z =    29
x =    10  y =    92  z =    26
x =    10  y =    97  z =    23
x =    10  y =   102  z =    20
x =    10  y =   107  z =    17
x =    10  y =   112  z =    14
x =    10  y =   117  z =    11
x =    10  y =   122  z =     8
x =    10  y =   127  z =     5
x =    10  y =   132  z =     2
x =    25  y =     0  z =    63
x =    25  y =     5  z =    60
x =    25  y =    10  z =    57
x =    25  y =    15  z =    54
x =    25  y =    20  z =    51
x =    25  y =    25  z =    48
x =    25  y =    30  z =    45
x =    25  y =    35  z =    42
x =    25  y =    40  z =    39
x =    25  y =    45  z =    36
x =    25  y =    50  z =    33
x =    25  y =    55  z =    30
x =    25  y =    60  z =    27
x =    25  y =    65  z =    24
x =    25  y =    70  z =    21
x =    25  y =    75  z =    18
x =    25  y =    80  z =    15
x =    25  y =    85  z =    12
x =    25  y =    90  z =     9
x =    25  y =    95  z =     6
x =    25  y =   100  z =     3
x =    25  y =   105  z =     0
x =    40  y =     3  z =    43
x =    40  y =     8  z =    40
x =    40  y =    13  z =    37
x =    40  y =    18  z =    34
x =    40  y =    23  z =    31
x =    40  y =    28  z =    28
x =    40  y =    33  z =    25
x =    40  y =    38  z =    22
x =    40  y =    43  z =    19
x =    40  y =    48  z =    16
x =    40  y =    53  z =    13
x =    40  y =    58  z =    10
x =    40  y =    63  z =     7
x =    40  y =    68  z =     4
x =    40  y =    73  z =     1
x =    55  y =     1  z =    26
x =    55  y =     6  z =    23
x =    55  y =    11  z =    20
x =    55  y =    16  z =    17
x =    55  y =    21  z =    14
x =    55  y =    26  z =    11
x =    55  y =    31  z =     8
x =    55  y =    36  z =     5
x =    55  y =    41  z =     2
x =    70  y =     4  z =     6
x =    70  y =     9  z =     3
x =    70  y =    14  z =     0

在[-1000,1000]这个区间内的整数就有33177组。估计你的这个问题也是有实际应用的,所以我觉得你肯定是有区间界定的。因此我把我的代码放在这儿,你可以通过调整这个区间的上下线来寻找你想要的结果:

      program sovl
         integer*4 i, j, k
         integer*4 max_x, max_y, max_z
         real*8 resu,EPS
        parameter (EPS=1.d-300)

        max_x=int(70d0/0.91d0)+1
        max_y=int(70d0/0.45d0)+1
          max_z=int(70d0/0.75d0)+1
          open(unit=100,file="solv.dat"
        do i=-1000,1000,1
          do j=-1000,1000,1
                      do k=-1000,1000,1
          resu=(real(i)*0.91d0+real(j)*0.45d0+real(k)*0.75d0)
          if(abs(resu-70d0)           write(*,'(a4,I5,2x,a4,I5,2x,a4,I5)')"x = ",i,"y = ",j,"z = ",k
          write(100,'(a4,I5,2x,a4,I5,2x,a4,I5)')"x = ",i,"y = ",j,"z = ",k
          endif

             enddo
                enddo
             enddo

        end program sovl

» 本帖附件资源列表

  • 欢迎监督和反馈:小木虫仅提供交流平台,不对该内容负责。
    本内容由用户自主发布,如果其内容涉及到知识产权问题,其责任在于用户本人,如对版权有异议,请联系邮箱:xiaomuchong@tal.com
  • 附件 1 : solv2.f
  • 2012-06-04 21:48:57, 631 bytes
弘德明志博学笃行
4楼2012-06-04 21:50:20
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

zhangguangping

木虫 (著名写手)

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★
shangxj: 金币+10, ★★★很有帮助, 写程序解决问题对我来说有点难度,我还是想使用简单的工具解决相关的一类问题。只是平时杂事颇多,静不下心来深入去学。 2012-06-06 17:53:38
csgt0: 金币+2, 多谢应助 2012-09-19 09:46:09
考虑到你可能不能编译fortran程序,我将fortran程序做成可执行文件了。你只需要下载那个exe按照提示输入你的求解范围,就可以直接将结果输出到文件中去了。

希望对你有用。

» 本帖附件资源列表

  • 欢迎监督和反馈:小木虫仅提供交流平台,不对该内容负责。
    本内容由用户自主发布,如果其内容涉及到知识产权问题,其责任在于用户本人,如对版权有异议,请联系邮箱:xiaomuchong@tal.com
  • 附件 1 : solv2.f
  • 2012-06-04 22:10:38, 1.6 K
  • 附件 2 : solv2.exe
  • 2012-06-04 22:10:43, 344.03 K
弘德明志博学笃行
5楼2012-06-04 22:10:50
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

gotit

新虫 (初入文坛)

【答案】应助回帖


csgt0: 金币+1, 多谢应助 2012-09-19 09:46:17
Solve[0.91 x + 0.45 y + 0.75 z == 70, {x, y, z}, Integers]

{{z -> ConditionalExpression[
    93.3333 - 1.21333 x - 0.6 y, (x | y | z) \[Element] Integers]}}
6楼2012-09-18 21:53:23
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

shangxj

金虫 (正式写手)

引用回帖:
6楼: Originally posted by gotit at 2012-09-18 21:53:23
Solve

{{z -> ConditionalExpression}}

怎么没有出来结果?
out显示还是跟输入的形式一样,是我操作不对吗?
7楼2012-10-08 17:55:29
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 shangxj 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[硕博家园] 售SCI一区文章,我:8.O.551.O.5.4,科目全,可伽急 +3 0XLacIJUOj8D 2026-08-24 6/300 2026-08-25 00:11 by BZKMTicpDhFj
[基金申请] 没有任何消息-是不是就凉了 +7 图啦图啦 2026-08-24 8/400 2026-08-24 22:00 by maomao_da
[论文投稿] 售SCI-T0P文章,我:8O.5.5.1.O.54,科目齐全,可+急 +3 0XLacIJUOj8D 2026-08-24 3/150 2026-08-24 21:59 by BZKMTicpDhFj
[基金申请] 人气不行了 +10 fansofjerry 2026-08-21 10/500 2026-08-24 21:03 by zhanghaozhu
[基金申请] 能否退出参与的面上项目解除限项 +21 koalala 2026-08-24 24/1200 2026-08-24 19:25 by 家与远方
[基金申请] 2026国自然函评费到账 +17 羊腰板 2026-08-21 19/950 2026-08-24 16:52 by iaeyuan
[基金申请] 建议基金发布提前给出明确的时间点 +13 kulium 2026-08-21 16/800 2026-08-24 16:27 by superceng
[基金申请] 今日不放榜?网传国自然预计 8 月 27 日可查结果 +17 医学老男孩 2026-08-20 21/1050 2026-08-24 14:21 by refreshing11
[基金申请] 范进中举一文的中心思想 +6 炎黄贵胄 2026-08-22 7/350 2026-08-24 11:58 by 6543yes
[基金申请] 朋友圈看到的 +7 wangzilk 2026-08-18 9/450 2026-08-24 10:50 by cmrandy
[基金申请] 让我中一个面上吧! +13 大萍1987 2026-08-20 16/800 2026-08-24 10:23 by 太傻了
[基金申请] 2026年的国家社科基金项目通讯评审的新规则与新动向、新挑战 +4 process2012 2026-08-23 5/250 2026-08-23 19:58 by jurkat.1640
[教师之家] 跳槽后在研项目怎么办? +5 简单化xn 2026-08-22 10/500 2026-08-23 12:38 by 简单化xn
[基金申请] 只有每年这种时候来逛逛小木虫 +24 yaoyewhu2008 2026-08-20 26/1300 2026-08-22 17:43 by kammury
[基金申请] 时间戳今天,20号变了 +5 archvillain 2026-08-20 5/250 2026-08-22 06:12 by hui_daxiao
[基金申请] 看来今天不会放榜了? +8 chengyan1220 2026-08-21 11/550 2026-08-21 17:52 by dcqxinyang
[基金申请] 时间戳又变了 +13 wuchongjun 2026-08-20 19/950 2026-08-21 17:21 by 紫杉醇
[基金申请] 重要消息,中午系统在维护 +11 yuleib84 2026-08-18 12/600 2026-08-20 11:09 by xskun
[基金申请] 明天放榜? +5 Shxjjxjkx 2026-08-18 5/250 2026-08-18 18:14 by -大大大大大-
[基金申请] 今天维护系统维护 祝所有人 高中 +8 gjjjzhong 2026-08-18 9/450 2026-08-18 13:01 by 家与远方
信息提示
请填处理意见