Trova due numeri che sommati=38 ed il loro prodotto=900 vers1

di Antonio-Sim il
7 risposte

Buona sera vorrei scrivere un  programma che Trova due numeri  che sommati=38  ed il loro prodotto=900.

Ho scritto due versioni ma non funzionano entrambi  cosa sbaglio?

#include <stdio.h>
#include <stdbool.h>

int main() {
    int Somma = 38;
    int Prodotto = 900;
    bool trovato = false;

    // scansione primo Numero
    for (int i = 1; i < Somma; i++) {
        // Scansione Secondo Numero
        for (int j = i; j < Somma; j++) {
            // verifica se i + j = Somma e i * j = Prodotto
            if ((i + j == Somma) && (i * j == Prodotto)) {
                printf("Le soluzioni sono: %d %d\n", i, j);
                trovato = true;
            }
        }
    }

    if (!trovato) {
        printf("Nessuna soluzione trovata.\n");
    }

    return 0;
}

7 Risposte

  • Perchè i due cicli li fai fino a Somma?

    I due valori devono andare da 1 a 37

    Ma non esistono 

  • 18/02/2024 - oregon ha scritto:


    Perchè i due cicli li fai fino a Somma?

    I due valori devono andare da 1 a 37

    Ma non esistono 

    Ho provato con altre combinazioni di valori es somma=25  prodotto=100 funziona, evidentemente non ci sono soulzioni

  • Non ci siamo capiti.

    Per i valori 38 e 900 non ci sono soluzioni e questo si era capito.

    COMUNQUE i cicli for che vanno da 1 a Somma non hanno senso, è un metodo sbagliato per affrontare il problema. Pensaci 

  • X+y=38

    xy=900

    non ci sono soluzioni nel campo reale e men che meno in quello intero

    900=30*30=60*15=180*5=300*3

    60,75,185,303

    di 38 non c'e' ne uno, tutti gli altri son qualcuno

  • Migliorabile ti ha dato un bel suggerimento all'inutile doppio ciclo for….

    io avrei messo a sistema le due funzioni.

    se la somma a+b fosse stata 1256698755266? avresti fatto 1256698755265 cicli?

    prima sarebbe il caso di fare un ripasso di analisi.

    Y=38-x => x(38-x)=900 => -X^2+38x-900=0

    alla funzione passi i termini a, b e c…

  • E si che sono uno ‘studiato’. 

    Ok, faro' 100 flessioni sui ceci!

    Pero' bisogna anche dire che uno di quei case strani ;-). 

    Di flessioni ne faro' solo 99!

Devi accedere o registrarti per scrivere nel forum
7 risposte