目录
题目:
示例:
分析:
代码:
题目:
示例:
分析:
这是一道简单题,题目就是给我们一个整数,让我们把这个数的各个位数都乘起来再减去各个位数加起来的值。
这好像没什么可说的,不过还是介绍一下取数字的各个位数的一个基本模板:
while(num){
int n=num%10;
num/=10;
}
把num送入while循环,条件就是num不为0。
每次我们都把num取余,这样就是得到了num的个位数。
接着将num除10,这样就等于把我们已经取到的个位数给抛弃掉。
此时num的个位数就是第一次将num除10之前的十位数了。
我们再接着循环重复的操作,知道num除尽变成0退出循环,我们根据这个模板就可以取到一个整数的各个位数了。
在本题中我们直接把取到的各个位数的值累乘和累加到各自的变量里表示整数的各位积和各位和,最后返回它们的差即可。
代码:
class Solution {
public:
int subtractProductAndSum(int n) {
int j,h;
j=1;
h=0;
while(n){
j*=n%10;
h+=n%10;
n/=10;
}
return j-h;
}
};