首頁 >後端開發 >C++ >在C++中,將一個同時可以被其重排的數字重新排列

在C++中,將一個同時可以被其重排的數字重新排列

王林
王林轉載
2023-09-05 22:49:06762瀏覽

在C++中,將一個同時可以被其重排的數字重新排列

我們給一個整數型別的數字,假設為number。任務是重新排列number的數字,使得重新排列後的數字也能被給定的number整除。

讓我們來看看不同的輸入輸出場景:

輸入 - int number = 100035

輸出 #- 重新排列後能被number整除的數字是:300105

解釋 - 我們給一個整數number,也就是100035。現在,任務是重新排列這些給定的數字,使得形成的數字能被number整除 100035。因此,在重新排列數字後,我們得到了300105,它可以被數字100035整除。

輸入 - int number = 1000035

# - 重新排列的數字也可以被它整除:3000105

#解釋 - 我們給定一個整數數字"number",即1000035。現在,任務是重新排列這些給定的數字,使得形成的數字能夠被1000035整除。因此,在重新排列數字後,我們得到了3000105,它可以被數字1000035整除。

輸入 - int number = 28

#輸出 - 重新排列的數字也可以被它整除:-1

解釋 - 我們給定一個整數數字"number",即28。現在,任務是重新排列這些給定的數字,使得形成的數字能夠被28整除。因此,在重新排列數字後,我們得到了82,它不能被數字28整除,因此輸出為-1。

下面程式中使用的方法如下

  • 輸入一個整數類型的變量,假設為number,並將資料傳遞給函數Rearrangement(number)。

  • 在函數Rearrangement(number)中

    • 建立一個儲存整數類型變數的vector變量,假設為vec(10, 0)。

    • 呼叫函數total_count(number, vec)並將number和vec作為參數傳遞給函數。

    • 從i到2的迴圈開始,直到i小於10。在循環內,將temp設定為number * i。

    • 建立一個儲存整數類型變數的vector變量,假設為vec_2(10, 0)。

    • 呼叫函數total_count(number, vec_2)並將number和vec_2作為參數傳遞給函數。

    • 檢查如果equal(vec.begin(), vec.end(), vec_2.begin()),則傳回temp。否則,返回-1。

  • 在函數total_count(int number, vector &vec_3)中

    • 當number為1時開始循環。在循環內,將vec_3設定為vec_3[number % 10] ,並將number設為number / 10。

範例

#include<bits/stdc++.h>
using namespace std;
void total_count(int number, vector<int> &vec_3){
   while(number){
      vec_3[number % 10]++;
      number = number / 10;
   }
}
int Rearrangement(int number){
   vector<int> vec(10, 0);
   total_count(number, vec);
   for(int i = 2; i < 10; i++){
      int temp = number * i;
      vector<int> vec_2(10, 0);
      total_count(temp, vec_2);
      if(equal(vec.begin(), vec.end(), vec_2.begin())){
         return temp;
      }
   }
   return -1;
}
int main(){
   int number = 100035;
   cout<<"Rearrangement of a number which is also divisible by it is: "<<Rearrangement(number);
   return 0;
}

輸出

如果我們執行上述程式碼,將會產生以下輸出

Rearrangement of a number which is also divisible by it is: 300105

以上是在C++中,將一個同時可以被其重排的數字重新排列的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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