Heim  >  Artikel  >  Backend-Entwicklung  >  Ermitteln Sie mithilfe der C++-Programmierung die Anzahl der Lösungen für die Gleichung x + y + z <= n

Ermitteln Sie mithilfe der C++-Programmierung die Anzahl der Lösungen für die Gleichung x + y + z <= n

王林
王林nach vorne
2023-08-25 11:41:241425Durchsuche

使用C++编程,找到方程x + y + z <= n的解的数量

In diesem Artikel erklären wir die Methode, wie man die Lösung der Gleichung x+y+z<=n findet. Bei diesem Problem haben wir eine Gleichung mit vier Variablen und die Aufgabe besteht darin, die Lösung der gegebenen Gleichung zu finden. Hier ist ein einfaches Beispiel:

Input: X = 1, Y = 1, Z = 1, n = 1

Output: 4

Input: X = 1, Y = 2, Z = 3, n = 4

Output: 3

In diesem Problem können wir einfach alle (x, y), (y, z), (x, z)-Werte durchlaufen.

Lösung

Jetzt werden wir die Brute-Force-Methode verwenden, um die Lösung für das gegebene Problem zu finden.

Brute-Force-Methode

In diesem Programm werden wir alle möglichen Werte von (x,y), (y,z) und (x,z) durchlaufen, sodass sie die Gleichung z

Beispiel


#include<bits/stdc++.h>
using namespace std;
int main(){
    int X = 1, Y = 2, Z = 3, n = 4; // limits of x, y, z and given n.
    int answer = 0; // counter variable.
    for(int i = 0; i <= X; i++){
        for(int j = 0; j <= Y; j++){
            int temp = (n - i) - j; // temp = n - x - y.
            if(temp >= Z){ // if n - x - y >= z so we increment the answer.
               answer++;
            }
        }
    }
    for(int i = 0; i <= X; i++){
        for(int j = 0; j <= Z; j++){
            int temp = (n - i) - j; // temp = n - x - y.
            if(temp >= Y){ // if n - x - y >= z so we increment the answer.
               answer++;
            }
        }
    }
    for(int i = 0; i <= Z; i++){
        for(int j = 0; j <= Y; j++){
            int temp = (n - i) - j; // temp = n - x - y.
            if(temp >= X){ // if n - x - y >= z so we increment the answer.
               answer++;
            }
        }
    }
    cout << answer << "\n";
}

Ausgabe

17

Erklärung des obigen Programms

In diesem Programm verwenden wir eine verschachtelte for-Schleife, um alle (x,y), (y,z) und (x,z) zu durchlaufen. Kombinieren, und prüfen Sie, ob die Gleichung die Bedingung erfüllt, und wenn ja, fügen Sie die Antwort hinzu.

Fazit

In diesem Artikel haben wir ein Problem gelöst, um die Anzahl der Lösungen zu finden, die die Gleichung x + y + z<= n mit einer Zeitkomplexität von O(X*Y) erfüllen. Wir haben auch ein C++-Programm zur Lösung dieses Problems und eine vollständige Lösung gelernt. Wir können das gleiche Programm in anderen Sprachen wie C, Java, Python und anderen schreiben.

Das obige ist der detaillierte Inhalt vonErmitteln Sie mithilfe der C++-Programmierung die Anzahl der Lösungen für die Gleichung x + y + z <= n. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:tutorialspoint.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen