Dalam artikel ini, kami akan menerangkan kaedah bagaimana untuk mencari penyelesaian bagi persamaan x+y+z<=n. Dalam masalah ini, kita mempunyai persamaan dengan empat pembolehubah dan tugasnya adalah untuk mencari penyelesaian bagi persamaan yang diberikan. Jadi berikut ialah contoh mudah&miuns;
Input: X = 1, Y = 1, Z = 1, n = 1 Output: 4 Input: X = 1, Y = 2, Z = 3, n = 4 Output: 3
Dalam masalah ini, kita hanya boleh melingkari semua nilai (x, y), (y,z), (x, z).
Kini kita akan menggunakan kaedah brute force untuk mencari penyelesaian kepada masalah yang diberikan.
Dalam atur cara ini, kita akan mengulangi semua kemungkinan nilai (x,y), (y,z) dan (x,z) supaya ia memenuhi persamaan z <= n - x - y ( Di sini z ialah pembolehubah dipisahkan), di mana 0 <= z <= Z (begitu juga dengan pembolehubah dipisahkan yang lain). <= n - x - y(这里z是被分离的变量),其中0 <= z <= Z(其他被分离的变量也是一样)。
#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"; }
17
Dalam atur cara ini, kita akan menggunakan gelung bersarang untuk melintasi semua (x,y), (y,z) dan (x,z) Gabungkan, dan semak sama ada persamaan itu memenuhi syarat, dan jika ya, tambahkan jawapannya.
Dalam artikel ini, kami menyelesaikan masalah untuk mencari bilangan penyelesaian yang memenuhi persamaan x + y + z<= n dengan kerumitan masa O(X*Y). Kami juga mempelajari program C++ untuk menyelesaikan masalah ini dan penyelesaian lengkap. Kita boleh menulis program yang sama dalam bahasa lain seperti C, Java, Python dan lain-lain.
Atas ialah kandungan terperinci Menggunakan pengaturcaraan C++, cari bilangan penyelesaian bagi persamaan x + y + z <= n. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!