如何用EXCEL或C语言求解三元一次方程的所有正整数解组 比如33a+42b+53c=46580,求a,b,c,并显示

如果要求正整数和有一位小数点的所有值呢,该怎么做比如331a+662b+993c=198800,求a,b,c.... 如果要求正整数和有一位小数点的所有值呢,该怎么做
比如 331a+662b+993c=198800,求a,b,c.
展开
 我来答
ouyangff
2012-03-17 · TA获得超过6594个赞
知道大有可为答主
回答量:3477
采纳率:66%
帮助的人:4691万
展开全部
鼠标右击Sheet1的标签【查看代码】,在代码窗口粘贴下面的代码:
Sub ouyang()
For a = 1 To 1412
For b = 1 To 1412
c = (46580 - 33 * a - 42 * b) / 53
If c > 0 And (c = Int(c)) Then
t = t + 1
Cells(t, 1) = a: Cells(t, 2) = b: Cells(t, 3) = c
End If
Next
Next
End Sub
按 F5 运行程序,按Alt + F11回到Excel就可看到有 14671组解!
追问
如果要求正整数和有一位小数点的所有值呢,该怎么做
追答
不知道你追问的意思?举个例子说明一下吧!
jd5252
2012-03-17 · TA获得超过2083个赞
知道小有建树答主
回答量:444
采纳率:0%
帮助的人:230万
展开全部
晕,你问了两个方法,楼上都正确,分给谁呢?都不好给。
还是给我吧!
方法1 c:
#include<stdio.h>
void main()
{
int a,b,c;
for(a=1;a<=10000;++a)
for(b=1;b<=10000;++b)
for(c=1;c<=10000;++c)
if(33*a+42*b+53*c==46580)
printf("a=%d\t b=%d\t c=%d\t \n",a,b,c);
}
方法2:excel方法:鼠标右击Sheet1的标签【查看代码】,在代码窗口粘贴下面的代码:
Sub ouyang()
For a = 1 To 1412
For b = 1 To 1412
c = (46580 - 33 * a - 42 * b) / 53
If c > 0 And (c = Int(c)) Then
t = t + 1
Cells(t, 1) = a: Cells(t, 2) = b: Cells(t, 3) = c
End If
Next
Next
End Sub
按 F5 运行程序,按Alt + F11回到Excel就可看到有 14671组解!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
qwe7275
2012-03-16 · TA获得超过158个赞
知道答主
回答量:138
采纳率:0%
帮助的人:110万
展开全部
#include<stdio.h>
void main()
{
int a,b,c;
for(a=1;a<=10000;++a)
for(b=1;b<=10000;++b)
for(c=1;c<=10000;++c)
if(33*a+42*b+53*c==46580)
printf("a=%d\t b=%d\t c=%d\t \n",a,b,c);
}
追问
这个我在C里面运行不了
追答
我这没问题,并且结果正确。
看看你是否输入正确。。。操作正确。。注意标点
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
yangliu0512
2012-03-17 · TA获得超过544个赞
知道小有建树答主
回答量:891
采纳率:0%
帮助的人:434万
展开全部
给你用EXcel做了个VBA,你留个邮箱,我发给你
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式