levkovitz
asked on
a smart alogorithm needed
i'm a student and my current project is to write an efficient program that reads 5 complete numbers
a,b,c,d,e,n
for that type of equation:
aX + bY +cZ = d
input - 5 complete numbers
output - the number of solutions to the equation between
n and -n
according to my program i have n^3 possibilities and i'm looking for a more efficient alogorithm.
here is what i did:
#include <iostream.h>
void main ()
{
cout<<"please enter 5 complete numbers"<<'\n';
int a,b,c;
int d;
int n;
int solution = 0;
int na;
int nb;
int nc;
int num_of_solutions = 0;
int counter = 0;
cin>>a>>b>>c>>d>>n;
na = (-1)*n;
nb = (-1)*n;
nc = (-1)*n;
while (nc <= n){
solution = a*na + b*nb + c*nc;
if (solution == d)
num_of_sol ++;
na ++;
if (na == n+1){
nb ++;
na = -n;
}
if (nb == n+1){
nc ++;
nb = -n;
}
counter ++;
}
cout<<num_of_sol<<'\n'<<co
}
merry christmess to you all.
assuming a!=0, you could cut it to O(n^2) by solving for na given nb and nc.
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
ASKER
thank you very much.
i don't have enough words to tell you how much you helped me.
merry christmas
i don't have enough words to tell you how much you helped me.
merry christmas