做出网站/网页制作公司哪家好
【Java】力扣 - 刷题笔记 - 1281
- 【Java】力扣 - 刷题笔记 - 1281
- 题目介绍
- 解题思路
【Java】力扣 - 刷题笔记 - 1281
每日一道题,提升一点点
题目介绍
1281. 整数的各位积和之差
给你一个整数 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 <= 105
解题思路
- 1.题目分析
这里限制了 n 的大小区间为 [1,105],这样就比较好处理了
我们取 n%10 就得到 n 的最后一位数,n / 10 得到去除最后一位之后的数;依次循环,直到 n = 0 即可
然后将各个 n % 10 求积 和 求和 的值取差值即可
public int subtractProductAndSum(int n) {// 初始化各位数之积为1int product = 1;// 初始化各位数之和为0int sum = 0;for (int i = 1; i <= 5; i++) {// 依次取各位数去 乘积 与 加和if (n > 0) {product *= n%10;sum += n%10;n = n / 10;} else {break;}}// 初始化乘积与加和的差int res = product - sum;return res;}
}
- 2.提交结果