Сумма квадрата каждой цифры в числе - PullRequest
0 голосов
/ 20 января 2012

Сумма каждой цифры в числе определяется как

1 + ((i - 1) % 9), где i - это число

Существует ли формула для получения суммы квадратов его цифр

1 Ответ

4 голосов
/ 20 января 2012

Формула, которую вы даете, на самом деле для повторяющейся суммы цифр, в смысле 384 -> 3 + 8 + 4 = 15 -> 1 + 5 = 6. Эта сумма фигурирует в "метод проверки арифметики «изгнание девяток» путем уменьшения числа до его значения по модулю 9. См., например, книгу «Математика усложнилась» или эту классическую пародию на Квадрат:

http://www.youtube.com/watch?v=Q53GmMCqmAM

Единственная причина, по которой модуль обеспечивает замкнутую форму, эквивалентную повторяющейся сумме цифр, состоит в том, что 9 равен единице меньше 10, и поэтому все 10, 100, 1000 и т. Д. Равны 1 по модулю 9. Для более типичных операций над цифрамичисло, вы на самом деле должны перебирать цифры по одной:

for( ; number > 0; number /= 10) {
   int digit = number % 10;
   // do something with digit
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...