Program C++ untuk mencari bilangan operasi minimum yang diperlukan untuk membuat nombor 0

王林
Lepaskan: 2023-08-26 14:01:14
ke hadapan
840 orang telah melayarinya

Program C++ untuk mencari bilangan operasi minimum yang diperlukan untuk membuat nombor 0

Andaikan kita mempunyai rentetan angka S yang mengandungi n digit. Katakan S mewakili jam digital dan keseluruhan rentetan memaparkan integer dari 0 hingga 10^n - 1. Jika terdapat lebih sedikit digit, 0 di hadapan dipaparkan. Ikut langkah ini -

  • kurangkan nombor pada jam sebanyak 1, atau

  • tukar dua digit p>

Kami mahu jam itu memaparkan 0 dengan bilangan operasi minimum. Kita perlu mengira bilangan operasi yang diperlukan untuk menyelesaikan operasi ini.

Jadi jika input adalah seperti S = "1000" output akan menjadi 2 kerana kita boleh menukar 1 pertama dengan 0 terakhir jadi rentetan akan menjadi "0001" sekarang tolak 1 untuk mendapatkan "0000".

Langkah

Untuk menyelesaikan masalah ini kami akan mengikuti langkah berikut -

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
Salin selepas log masuk

Contoh

Mari kita lihat pelaksanaan berikut untuk pemahaman yang lebih baik -

#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;
}
Salin selepas log masuk

Input

"1000"
Salin selepas log masuk

Output

2
Salin selepas log masuk

Atas ialah kandungan terperinci Program C++ untuk mencari bilangan operasi minimum yang diperlukan untuk membuat nombor 0. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:tutorialspoint.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan