Operazione inversa

di il
3 risposte

Operazione inversa

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);
			}
		}
	}
}

3 Risposte

  • Re: Operazione inversa

    Ti faccio notare che il testo dell'esercizio dice alla prima riga: "attraverso l'utilizzo dell'operazione inversa", quindi il tuo metodo, oltre ad essere subottimo (andare per tentativi ), non soddisfa la consegna. Qui ciò che ti serve, a parer mio, non è tanto un aiuto informatico quanto un aiuto di matematica. Ora, prova a pensare un metodo che usa l'operazione inversa, se proprio non riesci chiedi
  • Re: Operazione inversa

    Non ho idea allora di come si faccia..l'operazione inversa dell'addizione è la sottrazione, ma avendo due numeri a cui non mi è stato riferito come sono stati calcolati mi è impossibile fare l'inversa..almeno per quello che so al momento, se poi c'è qualcos'altro ben venga..
  • Re: Operazione inversa

    Okei piccolo suggerimento, imposti tre sistemi a due equazioni, uno per ogni possibile coppia di segni usati, se uno dei sistemi ha soluzioni hai trovato la coppia di segni, e risolvendo il sistema trovi i due numeri
Devi accedere o registrarti per scrivere nel forum
3 risposte