Salve, dovrei scrivere un programma che sia capace di trovare i numeri convolti in una operazione algebrica. Vi posto il testo che è più preciso.
esempio:
12 160
La soluzione al problema è data dalla coppia di operandi 86 e 74. Infatti si ha 86-74=12, mentre 86+74=160.
Avevo fatto questo metodo, ma non funziona bene..il cuore del metodo è il metodo trovali.
#include<iostream>
#include<fstream>
using namespace std;
ofstream out("C:\\Users\\Darkman\\Downloads\\output.txt");
ifstream input("C:\\Users\\Darkman\\Downloads\\input.txt");
bool somma(int a, int b, int c)
{
if(a+b==c)
return 1;
else return 0;
}
bool sottrazione(int a, int b, int c)
{
if(a-b==c || b-a==c)
return 1;
else return 0;
}
bool prodotto(int a, int b, int c)
{
if(a*b==c)
return 1;
else return 0;
}
void set(int a, int b)
{
if(a>b)
out<<a<<" "<<b<<" ";
else
out<<b<<" "<<a<<" ";
}
void trovali(int a,int b)
{
for(int i=5; i<=100; i++)
{
for(int j=100; j>=5; j--)
{
if(somma(i,j,a))
{
if(sottrazione(i,j,b)|| prodotto(i,j,b))
return set(i,j);
}
else if(sottrazione(i,j,b))
{
if(somma(i,j,a)|| prodotto(i,j,a))
return set(i,j);
}
}
}
}