求,解三元一次方程组的方法
三元的方程,但是只有两个组。例如:x+y+z=45x+2y+3z=120其中xyz均为自然数。主要是求解的思路、方法,有了思路我编个小程序也行。不要搜索,三元一次方程组是...
三元的方程,但是只有两个组。例如:
x+y+z=45
x+2y+3z=120
其中xyz均为自然数。
主要是求解的思路、方法,有了思路我编个小程序也行。
不要搜索,三元一次方程组是初中的问题,对这个问题没什么用。
我知道有多组解,比如这个就有5,5,35,和0,15,30的解,不过只要有快速的方法,比数数来的快。
其实我是要统计一个票数,得分分别有1、2、3分,我知道最后之和,知道人数,想快速知道得1分多少票,得2分多少票,得3分多少票。
当然,数据已经在excel里面了。 展开
x+y+z=45
x+2y+3z=120
其中xyz均为自然数。
主要是求解的思路、方法,有了思路我编个小程序也行。
不要搜索,三元一次方程组是初中的问题,对这个问题没什么用。
我知道有多组解,比如这个就有5,5,35,和0,15,30的解,不过只要有快速的方法,比数数来的快。
其实我是要统计一个票数,得分分别有1、2、3分,我知道最后之和,知道人数,想快速知道得1分多少票,得2分多少票,得3分多少票。
当然,数据已经在excel里面了。 展开
7个回答
展开全部
x+y+z=45
x+2y+3z=120
下式减上式得:
y+2z=75.因为X,Y,Z都是自然数.
显然y=5,z=35是其中一组解.
那么设通解是:
y=5-2k
z=35+k
x=45-(5-2k)-(35+k)=5+k
又y=5-2k>0.35+k>0,5+k>0
即k<2.5,k>-35,k>-5
即:-5<k<2.5.
因为K是整数,所以K=-4,-3,-2,-1,0,1,2
分别代入到上面式子中就可以得到一共有七组自然数解.
x+2y+3z=120
下式减上式得:
y+2z=75.因为X,Y,Z都是自然数.
显然y=5,z=35是其中一组解.
那么设通解是:
y=5-2k
z=35+k
x=45-(5-2k)-(35+k)=5+k
又y=5-2k>0.35+k>0,5+k>0
即k<2.5,k>-35,k>-5
即:-5<k<2.5.
因为K是整数,所以K=-4,-3,-2,-1,0,1,2
分别代入到上面式子中就可以得到一共有七组自然数解.
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
把z看成是已知数,xy是未知数。
x + y = 45 - z
x + 2y = 120 - 3z
上下相减
y = 120 -3z -45 + z = 75 -2z
x = 45 - z - (75 -2z) = z - 30
x,y都是自然数,所以有
75 -2z >=1且z-30 >=1
得到 31≤z≤37,一共有7个不同的值,这样就有7组解。
z = 31时,
x = 1
y = 13
z = 31
z = 32时,
x = 2
y = 11
z = 32
下面的类似不罗列了
x + y = 45 - z
x + 2y = 120 - 3z
上下相减
y = 120 -3z -45 + z = 75 -2z
x = 45 - z - (75 -2z) = z - 30
x,y都是自然数,所以有
75 -2z >=1且z-30 >=1
得到 31≤z≤37,一共有7个不同的值,这样就有7组解。
z = 31时,
x = 1
y = 13
z = 31
z = 32时,
x = 2
y = 11
z = 32
下面的类似不罗列了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
有两个方程,三个未知量,称为不定方程组,有多种解。
建议你可以参看百鸡问题.
可以编一个程序实现:
(以百鸡问题为例)
百钱百鸡问题中国古代数学家张丘建在他的《算经》中提出了著名的“百钱买百鸡问题”:鸡翁一,值钱五,鸡母一,值钱三,鸡雏三,值钱一,百钱买百鸡,问翁、母、雏各几何?
*题目分析与算法设计设鸡翁、鸡母、鸡雏的个数分别为cocks(x),hens(y),chicks(z),题意给定共100钱要买百鸡,若全买公鸡最多买20只,显然cocks的值在0~20之间;
同理,hens的取值范围在0~33之间,可得到下面的不定方程:
5x+3y+z/3=100
x+y+z=100
所以此问题可归结为求这个不定方程的整数解。由程序设计实现不定方程的求解与手工计算不同。在分析确定方程中未知数变化范围的前提下,可通过对未知数可变范围的穷举,验证方程在什么情况下成立,从而得到相应的解。
程序解释
main()
{
int cocks=0,hens,chicks;
while (cocks<=19) //公鸡只数小于19
{hens=0;
while(hens<=33) //母鸡小于33只
{chicks=100-cocks-hens;
if (5.0*cocks+3.0*hens+chicks/3.0==100.0)
printf("%d %d %d\n",cocks,hens,chicks);
hens++;
}
cocks++;
}
}
*总是的进一步讨论这类求解不定方程总理的实现,各层循环的控制变量直接与方程未知数有关,且采用对未知数的取值范上穷举和组合的方法来复盖可能得到的全部各组解。能否根据题意更合理的设置循环控制条件来减少这种穷举和组合的次数,提高程序的执行效率
建议你可以参看百鸡问题.
可以编一个程序实现:
(以百鸡问题为例)
百钱百鸡问题中国古代数学家张丘建在他的《算经》中提出了著名的“百钱买百鸡问题”:鸡翁一,值钱五,鸡母一,值钱三,鸡雏三,值钱一,百钱买百鸡,问翁、母、雏各几何?
*题目分析与算法设计设鸡翁、鸡母、鸡雏的个数分别为cocks(x),hens(y),chicks(z),题意给定共100钱要买百鸡,若全买公鸡最多买20只,显然cocks的值在0~20之间;
同理,hens的取值范围在0~33之间,可得到下面的不定方程:
5x+3y+z/3=100
x+y+z=100
所以此问题可归结为求这个不定方程的整数解。由程序设计实现不定方程的求解与手工计算不同。在分析确定方程中未知数变化范围的前提下,可通过对未知数可变范围的穷举,验证方程在什么情况下成立,从而得到相应的解。
程序解释
main()
{
int cocks=0,hens,chicks;
while (cocks<=19) //公鸡只数小于19
{hens=0;
while(hens<=33) //母鸡小于33只
{chicks=100-cocks-hens;
if (5.0*cocks+3.0*hens+chicks/3.0==100.0)
printf("%d %d %d\n",cocks,hens,chicks);
hens++;
}
cocks++;
}
}
*总是的进一步讨论这类求解不定方程总理的实现,各层循环的控制变量直接与方程未知数有关,且采用对未知数的取值范上穷举和组合的方法来复盖可能得到的全部各组解。能否根据题意更合理的设置循环控制条件来减少这种穷举和组合的次数,提高程序的执行效率
参考资料: http://baike.baidu.com/view/367996.html?wtp=tt
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用矩阵接、解一下就好了,通解+特解,详见《线性代数》
x=5+n
y=5-2n
z=35+n
x=5+n
y=5-2n
z=35+n
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询