使用C++陣列中所有數字構成一個能被3整除的數是否可行


在這個問題中,我們給定一個數組。我們的任務是檢查是否可以使用陣列元素的所有數字生成一個能被3整除的數。如果可以,則列印“Yes”,否則列印“No”。

讓我們舉個例子來理解這個問題

輸入 − arr = {3, 5, 91, }

輸出 − YES

解釋 − 數字 5193 可以被 3 整除。所以,我們的答案是 YES。

為了解決這個問題,我們將檢查它是否能被 3 整除。

3 的倍數 − 如果一個數字的各位數字之和可以被 3 整除,則該數字可以被 3 整除。

現在,我們將需要找到所有陣列元素的總和。如果這個總和可以被 3 整除,那麼就可以列印 YES,否則列印 No。

示例

程式展示瞭解決方案的實現

 線上演示

#include <iostream>
using namespace std;
bool is3DivisibleArray(int arr[]) {
   int n = sizeof(arr) / sizeof(arr[0]);
   int rem = 0;
   for (int i=0; i<n; i++)
      rem = (rem + arr[i]) % 3;
   return (rem == 0);
}
int main(){
   int arr[] = { 23, 64, 87, 12, 9 };
   cout<<"Creating a number from digits of array which is divisible by 3 ";
   is3DivisibleArray(arr)?cout<<"is Possible":cout<<"is not Possible";
   return 0;
}

輸出

Creating a number from digits of array which is divisible by 3 is Possible

更新於: 2020年4月17日

594 次瀏覽

開啟你的 職業生涯

透過完成課程獲得認證

開始學習
廣告

© . All rights reserved.