Heim > Backend-Entwicklung > C++ > Hauptteil

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

王林
Freigeben: 2023-08-25 11:41:24
nach vorne
1499 Leute haben es durchsucht

使用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
Nach dem Login kopieren

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 <= n – x erfüllen - y (Hier ist z die getrennte Variable), wobei 0 <= z <= Z (dasselbe gilt für andere getrennte Variablen). <= n - x - y(这里z是被分离的变量),其中0 <= z <= 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";
}
Nach dem Login kopieren

Ausgabe

17
Nach dem Login kopieren

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!

Quelle:tutorialspoint.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage