【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) {
	// 初始化各位数之积为1
	int product = 1;
	// 初始化各位数之和为0
	int 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.提交结果
    在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_35132089/article/details/108006600