求高手帮忙写段程序,穷举法求方程的解
a1*x1+a2*x2+a3*x3+a4*x4.......=C其中a1..是系数,x1..是未知数a1,x1C都是正整数数字是下标,*是乘号...
a1*x1+a2*x2+a3*x3+a4*x4.......=C
其中a1..是系数,x1..是未知数
a1 ,x1 C 都是正整数
数字是下标,*是乘号 展开
其中a1..是系数,x1..是未知数
a1 ,x1 C 都是正整数
数字是下标,*是乘号 展开
3个回答
展开全部
/* VC++6.0 编译通过,请保存为.cpp文件 */
#include <iostream>
using namespace std;
int *a,*x,n,C;
void printx()
{
printf("X=");
for(int i=0;i<n;++i) printf("%3d ",x[i]);
printf("\n");
}//打印一个解
bool search(int k,int sum)
{
if(k==0) return sum==0;
else
for(int i=1;i<=sum/a[k-1];++i)
{
x[k-1]=i;
if(search(k-1,sum-a[k-1]*i)) printx();
}
return false;
}//搜索所有可能的解
int main()
{
printf("n="); scanf("%d",&n);//输入未知数个数n
printf("a="); a=new int[n];
for(int i=0;i<n;++i) scanf("%d",&a[i]);//输入a[i], i=0~(n-1)
printf("C="); scanf("%d",&C);//输入C
x=new int[n];
search(n,C);//如无输出则表明方程无正整数解
system("pause");
return 0;
}
#include <iostream>
using namespace std;
int *a,*x,n,C;
void printx()
{
printf("X=");
for(int i=0;i<n;++i) printf("%3d ",x[i]);
printf("\n");
}//打印一个解
bool search(int k,int sum)
{
if(k==0) return sum==0;
else
for(int i=1;i<=sum/a[k-1];++i)
{
x[k-1]=i;
if(search(k-1,sum-a[k-1]*i)) printx();
}
return false;
}//搜索所有可能的解
int main()
{
printf("n="); scanf("%d",&n);//输入未知数个数n
printf("a="); a=new int[n];
for(int i=0;i<n;++i) scanf("%d",&a[i]);//输入a[i], i=0~(n-1)
printf("C="); scanf("%d",&C);//输入C
x=new int[n];
search(n,C);//如无输出则表明方程无正整数解
system("pause");
return 0;
}
展开全部
void a(int a1,int a2,int a3,int a4,int C)
{
int i,j,k,l;
for (i=0;i<=C/a1;i++)
for (j=0;j<=C/a2;j++)
for (k=0;k<=C/a3;k++)
for (l=0;l<=C/a4;l++)
{
if (a1*i+a2*j+a3*k+a4*l == C)
{
printf("%d*%d+%d*%d+%d*%d+%d*%d==%d",a1,i,a2,j,a3,k,a4,l,C);
return;
}
}
{
int i,j,k,l;
for (i=0;i<=C/a1;i++)
for (j=0;j<=C/a2;j++)
for (k=0;k<=C/a3;k++)
for (l=0;l<=C/a4;l++)
{
if (a1*i+a2*j+a3*k+a4*l == C)
{
printf("%d*%d+%d*%d+%d*%d+%d*%d==%d",a1,i,a2,j,a3,k,a4,l,C);
return;
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
穷举就是按某种循环依次代入进去判断.
你这里未知数个数为4就用4层for循环试试
可以先是:0,0,0,0;
然后是:0,0,0,1
.......
你这里未知数个数为4就用4层for循环试试
可以先是:0,0,0,0;
然后是:0,0,0,1
.......
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询