Page 39 - MATINF Nr. 8
P. 39
5.1 Implementarea algoritmului 2 39
unsigned long long s = 0;
int i;
for(i=n;i >=0;i--)
s = a[i] + x * s;
return s;
}
void solve_ec(int n, int a[]){
int x;
unsigned long long s;
for(x=1;x<= fabs(a[0])/2;x++){
s = f(n,a,x);
if(s == 0) cout <<x<<"␣";
s = f(n,a,-x);
if(s == 0) cout <<-x<<"␣";
}
x = fabs(a[0]);
s = f(n,a,x);
if(s == 0) cout <<x<<"␣";
if(a[0]!=0){
s = f(n,a,-x);
if(s == 0) cout <<-x<<"␣";
}
}
int main ()
{
read_data ();
solve_ec(n,a);
return 0;
}
ˆ
In tabelul 5.1 sunt prezentate cˆateva rezultate obt , inute cu implementarea 5.1
Ecuat , ia Date de intrare Date de ies , ire (solut , iile
ˆıntregi ale ecuat , iei)
2
x + 6x + 9 = 0 2 -3
9 6 1
2
x + 3x + 2 = 0 2 -1 -2
2 3 2
2
x + 3x + 9 = 0 2
9 3 1
4
3
2
5
x + x − 2x − 2x + x + 1 = 0, din 5 1 -1
[3] 1 1 -2 -2 1 1
2
3
2x − x + x − 2 = 0, din [3] 3 1
-2 1 -1 2
3
3
3
3
x + (x + 1) + (x + 2) = (x + 3) , 3 3
din [2] -18 -12 0 2
Tabelul 5.1 Cˆateva rezultate obt , inute cu programul C++ din implementarea 5.1