package com.leetcode.easy;
/**
* 〈给你一个整数 n,请你帮忙计算并返回该整数「各位数字之积」与「各位数字之和」的差。 〉
* @author PitterWang
* @create 2020/4/30
* @since 1.0.0
*/
public class SubtractProductAndSum {
public static void main(String[] args) {
System.out.println(subtractProductAndSum1(4421));
}
/***
* 通过把数字转成字符串来计算
* @param n
* @return
*/
public static int subtractProductAndSum(int n) {
int sum = 0;
int product = 1;
String s = String.valueOf(n);
for(int i = 0;i < s.length();i++){
sum = Integer.valueOf(String.valueOf(s.charAt(i))) + sum;
product = Integer.valueOf(String.valueOf(s.charAt(i))) * product;
}
System.out.println(sum);
System.out.println(product);
return product - sum;
}
/***
* 通过取余10 来获取最后一位 用while 来循环
* @param n
* @return
*/
public static int subtractProductAndSum1(int n) {
int sum = 0;
int product = 1;
while (n > 0) {
int digit = n % 10;
n = n / 10;
System.out.println(digit);
sum = digit + sum;
product = digit * product;
}
return product - sum;
}
}
整数的各位积和之差
最新推荐文章于 2022-03-30 12:24:52 发布