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 <= 10^5

題解1:

輸的範圍爲1~100000,計算每一位的值求和與積,最後求積和之差

class Solution {
    public int subtractProductAndSum(int n) {
//計算每一位上的數字
        int shiwan = n/100000;
        int wan = n%100000/10000;
        int qian = n%10000/1000;
        int bai = n%1000/100;
        int shi = n%100/10;
        int ge = n%10; 
 //求和
        int sum = shiwan+wan+qian+bai+shi+ge;
 //求積
        int ji = 1;
        if(shiwan!=0){
            ji = shiwan*wan*qian*bai*shi*ge;
        }else if(wan!=0){
            ji = wan*qian*bai*shi*ge;
        }else if(qian!=0){
            ji = qian*bai*shi*ge;
        }else if(bai!=0){
            ji = bai*shi*ge;
        }else if(shi!=0){
            ji = shi*ge;
        }else{
            ji = ge;
        }
//返回差值
        return ji-sum;
    }
}
題解1改進:

利用循環改進題解1

class Solution {
    public int subtractProductAndSum(int n) {
        int ji = 1;
        int sum = 0;
        while(n!=0){
        	ji *=n%10;
        	sum +=n%10;
        	n/=10;
        } 
        return ji-sum;
    }
}
提交結果:

在這裏插入圖片描述

發佈了21 篇原創文章 · 獲贊 23 · 訪問量 2333
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章