计算正整数各位上的数字之和
时间: 2023-05-21 14:06:10 浏览: 77
对于一个正整数,我们可以通过不断地对其进行取余和整除操作来依次求出它各个数位上的数字,然后再将这些数字相加。以下是一个实现这个功能的 Python 代码:
```python
def digit_sum(n):
total = 0
while n > 0:
digit = n % 10
total += digit
n //= 10
return total
```
这个函数接受一个正整数 `n` 作为参数,然后不断地将其除以 10 取余,得到它的个位数字,并将这个数字加到总和 `total` 中。然后将 `n` 整除以 10,相当于将它的个位数字去掉,进入下一轮循环,继续求出十位数字和更高位数字的值。当 `n` 变成 0 时,说明所有位上的数字都已经被加起来了,于是函数返回 `total`。
比如,如果我们需要计算数字 12345 各位上的数字之和,可以调用 `digit_sum(12345)`,返回值是 15。
以下是一个调用样例:
```python
>>> digit_sum(12345)
15
```
希望这个答案对您有所帮助!
相关问题
c语言计算正整数num 各位上数字之积
以下是两种C语言计算正整数num各位上数字之积的例子:
1.使用do-while循环计算
```c
#include <stdio.h>
long fun(long num) {
long k = 1;
do {
k *= num % 10;
num /= 10;
} while (num);
return k;
}
int main() {
long n;
printf("\nPlease enter a number:");
scanf("%ld", &n);
printf("\n%ld\n", fun(n));
return 0;
}
```
2.使用while循环计算
```c
#include <stdio.h>
int main() {
int i,a,b,c=1;
scanf("%d",&a);
if(a%10==0) {
printf("0\n");
} else {
while(a%10!=0) {
i=(int)a/10;
b=a%10;
a=i;
c=c*b;
}
printf("%d\n",c);
}
return 0;
}
```
计算正整数num的各位上的数字之和
以下是Python代码实现:
```python
num = int(input("请输入一个正整数:"))
sum = 0
while num > 0:
sum += num % 10
num //= 10
print("各位数字之和为:", sum)
```
运行程序后,输入一个正整数,程序将会计算出这个正整数各位数字之和并输出。