在 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
广告
数据结构
网络
RDBMS
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
JavaScript
PHP