Algorithm 数字中每个数字的平方和
数字中每个数字的总和由Algorithm 数字中每个数字的平方和,algorithm,math,Algorithm,Math,数字中每个数字的总和由 1+((i-1)%9)其中i是数字 有一个公式可以计算出它的数字的平方和 您给出的公式实际上是针对重复的数字之和,即384->3+8+4=15->1+5=6。这种求和方法的特点是通过将一个数减少到其模9的值来检查算术运算。例如,参见《数学变得困难》一书或这部经典的小品: 模提供与重复数字和相等的闭合形式的唯一原因是9比10小一,因此10、100、1000等都等于1模9。对于更典型的数字运算,您实际上必须逐个迭代数字: for( ; number > 0; numb
1+((i-1)%9)
其中i
是数字
有一个公式可以计算出它的数字的平方和 您给出的公式实际上是针对重复的数字之和,即384->3+8+4=15->1+5=6。这种求和方法的特点是通过将一个数减少到其模9的值来检查算术运算。例如,参见《数学变得困难》一书或这部经典的小品: 模提供与重复数字和相等的闭合形式的唯一原因是9比10小一,因此10、100、1000等都等于1模9。对于更典型的数字运算,您实际上必须逐个迭代数字:
for( ; number > 0; number /= 10) {
int digit = number % 10;
// do something with digit
}
您给出的公式实际上是针对重复的数字总和,即384->3+8+4=15->1+5=6。这种求和方法的特点是通过将一个数减少到其模9的值来检查算术运算。例如,参见《数学变得困难》一书或这部经典的小品: 模提供与重复数字和相等的闭合形式的唯一原因是9比10小一,因此10、100、1000等都等于1模9。对于更典型的数字运算,您实际上必须逐个迭代数字:
for( ; number > 0; number /= 10) {
int digit = number % 10;
// do something with digit
}
你的算法似乎有缺陷。它产生的最大值为9。如果数字之和大于9怎么办?例如,19岁。你指的是数字的递归和吗?你给出的公式实际上是一个重复的数字和,在384->3+8+4=15->1+5=6的意义上。这个总和的特点是用“排除9”的方法检查算术。你的算法似乎有缺陷。它产生的最大值为9。如果数字之和大于9怎么办?例如,19岁。你指的是数字的递归和吗?你给出的公式实际上是一个重复的数字和,在384->3+8+4=15->1+5=6的意义上。这个总和的特点是用“排除9”的方法检查算术。