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)

算法1281. 整数的各位积和之差(java / c / c++ / python / go / rust)

1281. 整数的各位积和之差

1281. 整数的各位积和之差

21天LeetCode打卡,第18天,整数的各位积和之差

算法2103. 环和杆(java / c / c++ / python / go / rust)