首頁 > 後端開發 > C++ > 主體

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

王林
發布: 2023-08-26 14:01:14
轉載
839 人瀏覽過

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
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板