在C++中查詢一個數字X,其與自身數字之和等於N
在本教程中,我們將找到一個數字,其與自身數字之和等於給定的數字N。
思路很簡單,我們將檢查給定數字左右100個數字。由於N ≤ 1000000000,並且總和不會超過100,因此不會超出此範圍。
讓我們看看解決這個問題的步驟。
初始化數字。
編寫一個迭代100次的迴圈。
獲取n - i和n + i的值。
找到數字的和並將其相加。
如果其中任何一個等於N,則列印它們。
示例
讓我們看看程式碼。
#include <bits/stdc++.h>
using namespace std;
int digitsSum(int n) {
int sum = 0;
while (n) {
sum += n % 10;
n /= 10;
}
return sum;
}
void findX(long int n) {
bool is_found = false;
for (int i = 0; i <= 100; i++) {
long int valueOnLeft = abs(n - i) + digitsSum(abs(n - i));
long int valueOnRight = n + i + digitsSum(n + i);
if (valueOnLeft == n) {
is_found = true;
cout << abs(n - i) << " ";
}
if (valueOnRight == n) {
is_found = true;
cout << (n + i) << " ";
}
}
if (!is_found) {
cout << "No numbers found";
}
cout << endl;
}
int main() {
int n = 89;
findX(n);
return 0;
}輸出
如果執行上述程式,則會得到以下結果。
76
結論
如果您在本教程中遇到任何疑問,請在評論區提出。
廣告
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP