LeetCode1281. 整数的各位积和之差(C++)
Posted 敲代码两年半的练习生
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LeetCode1281. 整数的各位积和之差(C++)相关的知识,希望对你有一定的参考价值。
1 题目描述
给你一个整数 n,请你帮忙计算并返回该整数「各位数字之积」与「各位数字之和」的差。
2 示例描述
2.1 示例1
输入:n = 234
输出:15
解释:
各位数之积 = 2 * 3 * 4 = 24
各位数之和 = 2 + 3 + 4 = 9
结果 = 24 - 9 = 15
2.2 示例2
输入:n = 4421
输出:21
解释:
各位数之积 = 4 * 4 * 2 * 1 = 32
各位数之和 = 4 + 4 + 2 + 1 = 11
结果 = 32 - 11 = 21
3 解题提示
1 <= n <= 10^5
4 解题思路
把各个位数取出直接相乘、相加如何作差,这里需要注意的是,乘积需要设置初始值为1,否则连乘会出问题。
5 代码详解
class Solution {
public:
int subtractProductAndSum(int n) {
int product = 1 ;
int sum = 0 ;
while(n)
{
product = product * (n % 10) ;
sum = sum + (n % 10) ;
n = n / 10 ;
}
return product - sum ;
}
};
以上是关于LeetCode1281. 整数的各位积和之差(C++)的主要内容,如果未能解决你的问题,请参考以下文章
算法1281. 整数的各位积和之差(java / c / c++ / python / go / rust)