数位之和计算

数位之和计算,计算一个数字各个数位之和,例:sums(100) = 1+0+0=1, sums(35) = 3+5=8

设一数字 x ,向下取整除法符号//,求余符号% ,则有:

1) x % 10, 得到x的个位数字

2) x // 10, 令x的十进制数向右移动一位,即删除个位数字

def sums(x):
    s = 0
    while x:
        s += x % 10
        x = x // 10
    return s

  

原文地址:https://www.cnblogs.com/pangyunsheng/p/12652388.html

时间: 2024-08-30 06:25:51

数位之和计算的相关文章

地上有一个m行和n列的方格。一个机器人从坐标0,0的格子开始移动,每一次只能向左,右,上,下四个方向移动一格, 但是不能进入行坐标和列坐标的数位之和大于k的格子。 例如,当k为18时,机器人能够进入方格(35,37), 因为3+5+3+7 = 18。但是,它不能进入方格(35,38),因为3+5+3+8 = 19。请问该机器人能够达到多少个格子?

package edu.bjtu.day8_27; import java.util.Scanner; /** * @author Allen * @version 创建时间:2017年8月27日 下午7:55:46 * 类说明:链接:https://www.nowcoder.com/questionTerminal/6e5207314b5241fb83f2329e89fdecc8 地上有一个m行和n列的方格.一个机器人从坐标0,0的格子开始移动,每一次只能向左,右,上,下四个方向移动一格, 但

CCF系列之数位之和(201512-1)

试题编号: 201512-1试题名称: 数位之和时间限制: 1.0s内存限制: 256.0MB问题描述: 问题描述 给定一个十进制整数n,输出n的各位数字之和. 输入格式 输入一个整数n. 输出格式 输出一个整数,表示答案. 样例输入 20151220 样例输出 13 样例说明 20151220的各位数字之和为2+0+1+5+1+2+2+0=13. 评测用例规模与约定 所有评测用例满足:0 ≤ n ≤ 1000000000. 解题思路: 实现代码(java): 1 package ccf_tes

剑指Offer(Java版)第十二题:地上有一个m行n列的方格。一个机器人从坐标(0, 0)的格子开始移动, 它每一次可以向左、右、上、下移动一格,但不能进入行坐标和列坐标的数位之和大于k的格子。 如,当k为18时,机器人能够进入方格(35, 37),因为3+5+3+7=18。但它不能进入方格(35, 38), 因为3+5+3+8=19。请问该机器人能够到达多少个格子?

/*地上有一个m行n列的方格.一个机器人从坐标(0, 0)的格子开始移动, 它每一次可以向左.右.上.下移动一格,但不能进入行坐标和列坐标的数位之和大于k的格子. 如,当k为18时,机器人能够进入方格(35, 37),因为3+5+3+7=18.但它不能进入方格(35, 38), 因为3+5+3+8=19.请问该机器人能够到达多少个格子?*/public class Class12 { public int moveCount(int rows, int cols, int threshold){

CSP201512-1: 数位之和

引言:CSP(http://www.cspro.org/lead/application/ccf/login.jsp)是由中国计算机学会(CCF)发起的"计算机职业资格认证"考试,针对计算机软件开发.软件测试.信息管理等领域的专业人士进行能力认证.认证对象是从事或将要从事IT领域专业技术与技术管理人员,以及高校招考研究生的复试对象. 问题描述 给定一个十进制整数n,输出n的各位数字之和. 输入格式 输入一个整数n. 输出格式 输出一个整数,表示答案. 样例输入 20151220 样例输

CCF_201512-1_数位之和

水. #include<iostream> #include<cstdio> using namespace std; int main() { int n,sum = 0; cin >> n; while(n) { sum += n%10; n /= 10; } cout << sum << endl; return 0; }

Leetcode-1085 sum of digits in the minimum number(最小元素各数位之和)

1 #define _for(i,a,b) for(int i = (a);i < b;i ++) 2 3 class Solution 4 { 5 public: 6 int sumOfDigits(vector<int>& A) 7 { 8 int mm = A[0]; 9 _for(i,0,A.size()) 10 { 11 if(A[i]<mm) 12 mm = A[i]; 13 } 14 int S = 0; 15 while(mm) 16 { 17 S += m

csp 201512-1 数位之和

这道题说明了int可以表示10^10以下的数,那么大中小的那个数,运算中出的问题????好懵呀 #include<iostream> using namespace std; int main(){ int n; cin>>n; int sum=0; while(n){ sum+=n%10; n=n/10; } cout<<sum<<endl; return 0; } 原文地址:https://www.cnblogs.com/i-love/p/1150822

计算矩阵边缘元素之和

#include<stdio.h> //计算矩阵边缘元素之和 int main() { int i,j; int sum=0; int a[5][5]; //下面2个for循环依次为数组a[5][5]赋值 for(i=0;i<5;i++) { for(j=0;j<5;j++) { scanf("%d",&a[i][j]); } } //此for循环求出最左边和最右边的元素之和 /* a[0][0],a[0][4], a[1][0],a[1][4], ..

URAL 2052 Physical Education(数位dp)

 题意:给出一个自然数数列,按照每个数的所有数位之和作为第一关键字,每个数的大小作为第二关键字升序排序,位置不变的数的个数是多少. 思路:首先可以证明,对于数位和为i的所有数,最多只可能有一个位置不变,这个可以直观的猜想一下,因为如果有一个数字位置不变,那么对于排序后的序列,这个数后面的所有数的增长速度都大于自然数序列的增长速度,所以不可能再有第二个. 假设我们当前求出了数位和为i的区间为[l, r],令query(a, b)表示1到a这段区间内数位和为b的数的个数,用su[i-1]表示数位