Вход | Регистрация
 
Информационные технологии :: Математика и алгоритмы

Задачка. Сумма всех цифр чисел от одного до миллиона

Задачка. Сумма всех цифр чисел от одного до миллиона
Я
   1Сергей
 
02.02.21 - 16:56
Задачка для того чтобы размять мозги.
Посчитать сумму всех цифр чисел от одного до миллиона.

(я решил в уме)
   Fish
 
1 - 02.02.21 - 16:57
(0) Что такое "сумма всех цифр чисел"?
   Fragster
 
2 - 02.02.21 - 16:57
1 + 999999 = 1000000
2 + 999998 = 1000000
и чем тут гордиться?
   1Сергей
 
3 - 02.02.21 - 16:58
(2) ответ?
   Fragster
 
4 - 02.02.21 - 16:58
и не ты решил, а прочитал байку про десятилетнего гаусса, который эту формулу придумал
   1Сергей
 
5 - 02.02.21 - 16:58
(1) например, сумма цифр числа 123 считается так: 1+2+3
   1Сергей
 
6 - 02.02.21 - 16:59
(4) нет, я сам решил. И не так как там
   Fragster
 
7 - 02.02.21 - 16:59
а, цифр чисел, а не чисел. тут надо подумать чуток, но тож не сложно
   Fish
 
8 - 02.02.21 - 17:00
(5) Тогда ответ 27000001
   Fragster
 
9 - 02.02.21 - 17:00
типа сумма от 1 до 9 = 55, единиц там будет 100000, десятков там 10000, и т.п.
получается 4999999, чтоли. мог девяткой промахнуться
   1Сергей
 
10 - 02.02.21 - 17:01
(8) а решение?
   1Сергей
 
11 - 02.02.21 - 17:02
(9) не только девяткой
   Fragster
 
12 - 02.02.21 - 17:02
(11) ну да. но принцип такой. лень.
   Fragster
 
13 - 02.02.21 - 17:04
да и через (2) можно
   Fish
 
14 - 02.02.21 - 17:05
(10) 0+999999=1+999978=2+999997... и т.д. Таких пар 500000. Плюс сам 1000000. Ответ: 54*500000+1
   Fragster
 
15 - 02.02.21 - 17:06
еще можно так - всего от 000000 до 999999 6 миллионов чисел от 0 до 9. каждая встречается по 600к раз, т.е. получается 45 * 600к = 27000000. ну еще  + 1 из 1000000 добавить,
   1Сергей
 
16 - 02.02.21 - 17:07
(14) ок, правильно
   1Сергей
 
17 - 02.02.21 - 17:08
(15) тоже правильно
   1Сергей
 
18 - 02.02.21 - 17:08
я решал так

Представим все числа как шестизначные от 000000 до 999999 (миллион отбросим пока) выстроим в столбик. Сначала посчитаем все единицы 0+1+2+3+4+5+6+7+8+9... Эта последовательность повторяется 100'000 раз, значит 54*100'000 = 5'400'000. Далее десятки. Понятно что там тот же самый набор цифр, но немного в "растянутой" последовательности 0+0+0+0+0+0+0+0+0+0+1+1+1+1+1+1+1+1+1+1... но, количество нулей, единиц, двоек и т.д. такое же. Т.е., по сути, то же число 5'400'000. С сотнями всё то же самое, но более "растянуто". Далее понятно что сумма в каждом столбце одиннаковая, значит можно просто 6*5'400'000. И добавляем 1 отброшенного вначале миллиона. Ответ: 27'000'001
   Вафель
 
19 - 02.02.21 - 17:13
n*(n+1)/2
   Вафель
 
20 - 02.02.21 - 17:14
кмк эту формулу еще в школе проходят
   1Сергей
 
21 - 02.02.21 - 17:18
(19) а n в нашем случае муллион?
   Малыш Джон
 
22 - 02.02.21 - 17:37
(21) сумма арифметической прогрессии

S = n*(а1+а2)/2;
   Малыш Джон
 
23 - 02.02.21 - 17:39
+(22) это не ответ к (0), это пояснение к (19)
   Малыш Джон
 
24 - 02.02.21 - 17:39
(20) не сумму чисел, а сумму цифр из которых эти числа состоят
   Gbpltw
 
25 - 02.02.21 - 17:39
буквами всякий сможет. а вычислить запросом?
   Гений 1С
 
26 - 02.02.21 - 17:40
не глядя на подсказки 1 + 1000000 / 2
   Гений 1С
 
27 - 02.02.21 - 17:40
т.е. 500000.5
   Гений 1С
 
28 - 02.02.21 - 17:40
хотя стоп
   Малыш Джон
 
29 - 02.02.21 - 17:41
(26) оригинально
   Гений 1С
 
30 - 02.02.21 - 17:41
(1 + 1 млн) * 1 млн / 2, пардон
 
 Рекламное место пустует
   Гений 1С
 
31 - 02.02.21 - 17:41
500000500000
   Fragster
 
32 - 02.02.21 - 17:41
(26) ты тз так же читаешь?
   1Сергей
 
33 - 02.02.21 - 17:42
(30) Садись, два :)
   Гений 1С
 
34 - 02.02.21 - 17:42
(32) посмотри, как я решаю ханойские башни
   Fragster
 
35 - 02.02.21 - 17:42
(19), (21) см (32)
   Fragster
 
36 - 02.02.21 - 17:42
в (35) не (21), а (22)
   Гений 1С
 
37 - 02.02.21 - 17:43
а, он сумму цифер считает. ну ггг
   Малыш Джон
 
38 - 02.02.21 - 17:45
(36) ты читай все подряд, а не только то, что нравится. в (22) - пояснение к (19)
   Ненавижу 1С
 
39 - 02.02.21 - 17:47
[(1+9)*9/2]*10^5*6+1
   1Сергей
 
40 - 02.02.21 - 17:48
(39) Правильно
   Ненавижу 1С
 
41 - 02.02.21 - 18:01
(27) точно, складываем целые и получаем дробное
   Ненавижу 1С
 
42 - 02.02.21 - 18:02
+(41) не ну иногда и вот так бывает https://habr.com/ru/post/53883/
   mikecool
 
43 - 02.02.21 - 18:05
(18)  и это все у тебя в уме уложилось?
   1Сергей
 
44 - 02.02.21 - 18:06
(43) да. нолики пририсовывать я могу в уме
   mikecool
 
45 - 02.02.21 - 18:09
(44) что сказать - голова!
   hhhh
 
46 - 02.02.21 - 18:51
(44) но что-то какое-то у вас странное решение. Во-первых, 6 * 5400000 = 32 400 000. Так, между нами.
   hhhh
 
47 - 02.02.21 - 18:56
(44) во-вторых 0+1+2+3+4+5+6+7+8+9 = 45.
   Жан Пердежон
 
48 - 02.02.21 - 19:04
как-то так:

4,5 * 6 * 1000000 + 1 = 27000001
   1Сергей
 
49 - 02.02.21 - 20:19
(46) (47) ошибся когда записывал
   Вася Теркин
 
50 - 03.02.21 - 07:07
(31) 500000500000 + КорректировкаНаГениальность1С


Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.