设为首页收藏本站

数学之路

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 1224|回复: 5

[方程] 真心求数学题

[复制链接]
发表于 2013-12-23 21:01:15 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
8432=135*X+248*Y+185*Z,X/Y/Z都是自然数,我想知道简单点的算法,用软件也行,在工作中用的这样的数学模型,但是不知道哪里能求解,希望大侠们帮帮忙,谢谢了
发表于 2013-12-28 10:52:28 | 显示全部楼层
135x+248y+185z=8432
使135x0+248y0=8432,z0=0
(135,248)→(135,113)→(22,113)→(22,3)→(1,3)
用扩展欧几里得算法得
3=6(248)-11(135),1=-43(248)+79(135)
x0=79(8432)=0(rem248),y0=-43(8432)=34(rem135)
此不定方程的通解为
x=248a+185b
y=34-135a+185c
z=-135b-248c
不过要从这里手算出自然数解的话更麻烦

用c++即可求出真实数据
(x,y,z)=(0,34,0),(7,19,15),(14,4,30),(17,24,1),(24,9,16),(34,14,2),(51,4,3)
#include<stdio.h>
#include<math.h>
int main()
{
        int x,y,z;
        for(x=0;x<=100;x++)for(y=0;y<=100;y++)for(z=0;z<=100;z++)
        if(135*x+248*y+185*z==8432)printf("x=%d,y=%d,z=%d\n",x,y,z);
}
 楼主| 发表于 2014-1-3 22:09:41 | 显示全部楼层
真心谢谢您的答复,给了我很大的帮助
发表于 2015-6-22 21:26:48 | 显示全部楼层
应该就是不定方程的解法,使用程序穷举法
发表于 2015-6-23 11:49:39 | 显示全部楼层
我也想学C++额
发表于 2015-6-24 18:54:11 | 显示全部楼层
扩展欧几里得算法是什么东西额
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|站点统计|小黑屋|Archiver|手机版|站长信箱|数学之路 ( 冀ICP备11017610号-1  

GMT+8, 2017-11-21 16:19 , Processed in 0.202845 second(s), 27 queries .

Powered by Discuz! X3.2 Licensed

© 2001-2013 Comsenz Inc.

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