目錄
步驟

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

10
登入後複製
" >
10
登入後複製
首頁 後端開發 C++ C++程式用來計算使數字n變成1所需的最小操作次數

C++程式用來計算使數字n變成1所需的最小操作次數

Sep 14, 2023 pm 10:53 PM
數位 操作 計算

C++程式用來計算使數字n變成1所需的最小操作次數

假設我們有一個數字n。我們任意執行這些操作之一-

  • 當n 可被2 整除時,將n 替換為n/2

  • 當n 可被3 整除時,將n 替換為2n/3

  • 當n 可被5 整除時,將n 替換為4n/5

    ## li>
我們必須計算數字1 所需的最小移動次數。如果不可能,則回傳 -1。

因此,如果輸入類似於n = 10,則輸出將為4,因為使用n/2 得到5,然後使用4n/5 得到4,然後再次n/2 得到2,再次n/2得到1。

步驟

步驟

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

m := 0
while n is not equal to 1, do:
   if n mod 2 is same as 0, then:
      n := n / 2
      (increase m by 1)
   otherwise when n mod 3 is same as 0, then:
      n := n / 3
      m := m + 2
   otherwise when n mod 5 is same as 0, then:
      n := n / 5
      m := m + 3
   Otherwise
      m := -1
      Come out from the loop
return m
登入後複製

範例

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

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

int solve(int n) {
   int m = 0;
   while (n != 1) {
      if (n % 2 == 0) {
         n = n / 2;
         m++;
      }
      else if (n % 3 == 0) {
         n = n / 3;
         m += 2;
      }
      else if (n % 5 == 0) {
         n = n / 5;
         m += 3;
      }
      else {
         m = -1;
         break;
      }
   }

   return m;
}
int main() {
   int n = 10;
   cout << solve(n) << endl;
}
登入後複製

輸入

10
登入後複製

輸出

4
登入後複製

以上是C++程式用來計算使數字n變成1所需的最小操作次數的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱門文章

倉庫:如何復興隊友
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
1 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱門文章

倉庫:如何復興隊友
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
1 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱門文章標籤

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

word文檔怎麼計算加減乘除 word文檔怎麼計算加減乘除 Mar 19, 2024 pm 08:13 PM

word文檔怎麼計算加減乘除

CUDA之通用矩陣乘法:從入門到熟練! CUDA之通用矩陣乘法:從入門到熟練! Mar 25, 2024 pm 12:30 PM

CUDA之通用矩陣乘法:從入門到熟練!

PyCharm使用教學:詳細指引你執行操作 PyCharm使用教學:詳細指引你執行操作 Feb 26, 2024 pm 05:51 PM

PyCharm使用教學:詳細指引你執行操作

Linux Deploy的操作步驟及注意事項 Linux Deploy的操作步驟及注意事項 Mar 14, 2024 pm 03:03 PM

Linux Deploy的操作步驟及注意事項

win10開機密碼忘記按F2怎麼操作 win10開機密碼忘記按F2怎麼操作 Feb 28, 2024 am 08:31 AM

win10開機密碼忘記按F2怎麼操作

華為Mate60 Pro截圖操作步驟分享 華為Mate60 Pro截圖操作步驟分享 Mar 23, 2024 am 11:15 AM

華為Mate60 Pro截圖操作步驟分享

Discuz網域修改操作指南 Discuz網域修改操作指南 Mar 09, 2024 pm 04:36 PM

Discuz網域修改操作指南

PHP字串操作:有效去除空格的實用方法 PHP字串操作:有效去除空格的實用方法 Mar 24, 2024 am 11:45 AM

PHP字串操作:有效去除空格的實用方法

See all articles