整数的各位积和之差—LeetCode1281

发布于 — 2020 年 02 月 19 日
#LeetCode

题目描述

给你一个整数 n,请你帮忙计算并返回该整数「各位数字之积」与「各位数字之和」的差。

示例 1:

输入:n = 234 输出:15 解释: 各位数之积 = 2 * 3 * 4 = 24 各位数之和 = 2 + 3 + 4 = 9 结果 = 24 - 9 = 15 示例 2:

输入:n = 4421 输出:21 解释: 各位数之积 = 4 * 4 * 2 * 1 = 32 各位数之和 = 4 + 4 + 2 + 1 = 11 结果 = 32 - 11 = 21

提示:

1 <= n <= 10^5

解题思路

这个题目的思路就很清晰,对进行拆分,然后累积和累加,然后做差返回。

代码实现:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
public int subtractProductAndSum(int n) {
  int sum = 0;
  int mutx = 1;
  while (n > 0) {
    int temp = n % 10;
    sum += temp;
    mutx *= temp;
    n /= 10;
  }
  return mutx - sum;
}