在 C++ 中計算整數中各個數字的乘積與和之差


假設我們有一個數字。我們需要找出各個數字的和與乘積。然後找出和與乘積之間的差。比如說,如果數字是 5362,那麼和就是 5 + 3 + 6 + 2 = 16,而 5 * 3 * 6 * 2 = 180。所以 180 – 16 = 164。

要解決這個問題,需要逐個獲取每個數字並相加相乘,然後返回差值。

示例

為了更好地理解,我們來看看以下實現 −

 即時演示

#include <bits/stdc++.h>
using namespace std;
class Solution {
   public:
      int subtractProductAndSum(int n) {
         int prod = 1;
         int sum = 0;
         for(int t = n;t;t/=10){
            sum += t % 10;
            prod *= t % 10;
         }
         return prod - sum;
      }
};
main(){
   Solution ob;
   cout << ob.subtractProductAndSum(5362);
}

輸入

5362

輸出

164

更新於:2020 年 4 月 29 日

384 次瀏覽

開啟您的職業生涯

完成課程,獲得認證

立即開始
廣告
© . All rights reserved.