首頁 >後端開發 >C++ >C++程式以找出使數字為0所需的最少操作次數

C++程式以找出使數字為0所需的最少操作次數

王林
王林轉載
2023-08-26 14:01:14854瀏覽

C++程式以找出使數字為0所需的最少操作次數

假設我們有一個包含 n 位數的數字字串 S。假設 S 代表一個數字時鐘,整個字串顯示從 0 到 10^n - 1 的整數。如果位數較少,則會顯示前導 0。依照下列運算-

  • 將時鐘上的數字減1,或

  • 交換兩位數字 p>

我們希望時鐘能夠以最少的操作次數顯示0。我們必須計算完成此操作所需的操作數。

因此,如果輸入類似於S = "1000",則輸出將為2,因為我們可以將前1 與後0 交換,所以字串將是“0001”,現在將其減1 得到“0000”。

步驟

為了解決這個問題,我們將按照以下步驟操作-

n := size of S
x := digit at place S[n - 1]
for initialize i := 0, when i <= n - 2, update (increase i by 1), do:
   if S[i] is not equal to &#39;0&#39;, then:
      x := x + (digit at place S[i]) + 1
return x

範例

讓我們看看以下實現,以便更好地理解-

#include <bits/stdc++.h>
using namespace std;

int solve(string S) {
   int n = S.size();
   int x = S[n - 1] - &#39;0&#39;;
   for (int i = 0; i <= n - 2; i++)
      if (S[i] != &#39;0&#39;)
         x = x + S[i] + 1 - &#39;0&#39;;
   return x;
}
int main() {
   string S = "1000";
   cout << solve(S) << endl;
}

輸入
"1000"
###輸出###
2
###

以上是C++程式以找出使數字為0所需的最少操作次數的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:tutorialspoint.com。如有侵權,請聯絡admin@php.cn刪除