Задачки, история о Карле Гауссе и сумма цифр всех чисел от 1 до 1 000 000 В главное роли - Джеймс Грайм singingbanana.com/ Оригинал тут: • One to One Million - N...
комменты напомнили анекдот: Физику, математику и инженеру дали задание вычислить объем красного резинового мячика. Физик погрузил мяч в стакан с водой и измерил объем вытесненной жидкости. Математик измерил диаметр мяча и рассчитал тройной интеграл. Инженер достал из стола «Таблицу объемов красных резиновых мячей» и нашел нужное значение.
не хочу быть занудой, но какой там тройной интеграл? Зная диаметр резинового мячика, можно воспользоваться простой формулой поиска объема шара, где присутствует куб, но уж точно никакого интеграла %)
ну и что? через тройной интеграл объём шара измеряется точно так же легко тут всё дело в другом... как то мне, ещё когда я училась в универе, соседка притащила задачку, мол, никак решить не мог её второклассник. саму задачу я уже не помню, но там было чёт простенькое, я быстро накидала решение через систему двухлинейных уровнений с двумя неизвестными и решила, соседка оттащила это дитю, дитё почесало в затылке. сказало что они такого ещё не проходили. тут уже я почесала в затылке, а как это можно решить ЕЩЁ примитивнее. оказалось, что это была "задача на смекалку" и ответ нужно было подобрать :)
А я сразу все понял. Нашёл ответ в течение 5 секунд после вопроса. 5 секунд ушли на прокрутку вперёд. Мой метод показал свою эффективность. Теперь думаю патентовать.
а я прикинул, что количество используемых цифр одинаковое среди чисел чисел от 000000 до 999999 - за счет симметричности задачи(цифра 1 не имеет никаких отличий от цифры 2 и.т.д) поскольку всего цифр 10, а всего использовано цифр 6*1000000=6000000, то каждая цифра встречается 600000 раз. таким образом сумма цифр равна 600000*(0+1+2+3+4+5+6+7+8+9)=27000000. и еще число 1000000, то есть в итоге 27000001.
gopher Я решил точно так же, это как бы комбинаторный алгоритм, люблю этот метод, этот метод по моему более прост и универсален, но и метод в видео интереснее ))
Можно же было проще решить. Я пишу этот комментарий в 11:16, 11.06.2018. Складываем часы - 11+16=27. Умножаем на миллион, так как нужно узнать суммы чисел до миллиона - 27*1000000 = 27000000. Прибавляем единицу, потому что а почему бы и нет? И вуа-ля: 27000001.
Можно по другому, я пишу этот комментарий в 12:15, 29.09.2018. Складываю часы - 12+15 = 27. Умножаю на 1 млн. = получаю 27 000 000, и складываю с единицей. Опа-на = 27 000 001.
Я тоже слышал историю, что Гаусс занимался всякой фигней, пушки Гаусса изобретал на уроках и учитель задолбался его охлаждать, придумывая раз за разом задачки вроде подобных.
Классическая история о гениальном ученике и его разочарованном учителе! Похоже, что молниеносные решения Гауссом математических задач вызывали напряжение в классе. Пытаясь "остудить его", учитель предложил юному Гауссу особенно трудную задачу, надеясь замедлить его. Но, как мы все знаем, Гаусса было не остановить. Он с легкостью решил задачу и стал одним из самых известных математиков в истории. Таким образом, похоже, что попытка учителя "остудить его" только подогрела страсть Гаусса к математике и закрепила его место в анналах истории математики.
0:55 Другое решение - 45*10^5*6+1=27000001, по формуле поразрядного нахождения суммы цифр чисел от 1 до 10^n - 45*10^(n-1)*n+1. Как находим такую формулу? Сначала посчитаем 0+1+2+3+4+5+6+7+8+9. Будет 45. Известно, что при перечислении всех чисел цифры чередуются. Цикл идёт по кругу. Значит, для чисел от 1 до 99 справедливо, что в каждом разряде каждая цифра по 10 раз повторяется, т. е. будет результат 45*10*2. В ряду от 1 до 999 цифры в каждом разряде повторяются уже по 100 раз, и их сумма будет 45*100*3. Если затронем число 1000, то тут сумма увеличится только на 1. Соответственно, в ряду от 1 до 10000 сумма цифр будет 45*1000*4+1, от 1 до 100000 - 45*10000*5+1. Исходя из этого, для ряда чисел от 1 до 10^n общая сумма цифр будет равна 45*10^(n-1)*n+1. Значит, для ряда чисел от 1 до 1000000, т. е. до 10^6, общая сумма цифр будет равна 45*10^5*6+1=27000001. В принципе, 45*10^(n-1)*n+1=9*n*10^n/2+1
тоже пришëл к этому решению, только не смог дошëл до 10^(n-1). только у меня возникает вопрос, как посчитать сумму цифр от 1 до 19487, к примеру? ведь тут уже нельзя прийти к 9 в каждом разряде
Я, как обычный программист, увидел задачку и решил проверить. Эту задачу легко реализовать на Python. К тому, я задействовал встроенную библиотеку time, чтобы ради прикола сосчитать время выполнения кода. Вот, собственно, сам код: import time temp = time.time() summa = 0 for i in range(1, 1000001): for j in str(i): summa += int(j) print(time.time() - temp) print(summa) В первой строчке мы импортируем модуль time. Во второй - присваиваем переменной temp текущее время. В третьей - вводим новую переменную summa. Позже там будет хранится информация о сумме В 4-6 строчке идет цикл с вложенным циклом. В четвёртой строке пробегаемся по каждому числу с 1 до миллиону. В пятой же мы пробегаемся по каждому из них и прибавляем к sum. Затем мы отнимаем текущее время от времени temp. Потом с помощью print, всё это выводим. Я сижу с телефона (!), и консоль вывела следующее: 4.56493353843689 27000001 Невероятно, вычисления всего лишь за 4,565 секунд. К тому же, мы можем задать левую и правую границы нашего кода. С отрицательными надо додумать (хотя в условиях все равно будут только натуральные) 2) Без таймера: summa = 0 for i in range(1, 1000001): for j in str(i): summa += int(j) print(summa) 3) Для тех, которые любят строковые выражения и однострочечные коды: print(sum([sum(int(i) for i in list(str(j))) for j in range(1, 1000001)]))
О, я верно посчитал.... (Pascal) var i,a,i2,c:integer; b:string; begin for i:=1 to 1000000 do begin b:=inttostr(i); for i2:=1 to length(b) do c:=c+strtoint(b[i2]); end; writeln(c); end.
Важное уточнение для понимания, которое упущено в видео. Когда ты так складываешь, то нигде не перегружается разряд. Всегда, в каждом разряде, цифра дополняется ровно до 9. Например, 236752 складывается с 763247 и все значения цифр сохраняются.
Поясняю для нубов ))) Разряд это количество цифр в числе. Один разряд имеет значение от 0 до 9 (в десятичной системе). Т.е. если мы складываем 98+1=99 , а если 99+1=100 уже разрядность меняется.
тут не важно до скольки дополняется цифра. главное получить одинаковые пары. а потом посчитать количество пар. в числе количество цифр может увеличиться хоть в 10 раз главное чтоб все пары были одинаковыми и мы знали их количество.
Ну если не важно, то почему меняется сумма цифр с 54 на 2, если складывать не с нуля а с единицы т.е. (для наглядности) 0+999999 и сумма цифр равна 0+9+9+9+9+9+9=54, теперь начинаем складывать с единицы: 1+1000000, сумма цифр равна 1+1+0+0+0+0+0+0=2, а если по-твоему не имеет значение кол-во разрядов, то почему сумма мЭняется?????? СИНК ЭБОУТ ИТ (реал ток)
Получил то же самое статистикой. От 000001 до 999999 на каждой позиции из 6-и все цифры появляются с равной частотой. Если взять одну любую позицию, например, первую, то там будет одинаковое число цифр 0,1,2,3,4,5,6,7,8 и 9. Каждая - по 100 000 раз пооучается. Сумма 0+1+2+...+9 = 45. 45*100 000 = 4 500 000. Позиций всего 6. 6 * 4 500 000 = 27 000 000. Ну и поюс 1 в конце
Перед просмотром написал программу, которая делает это вычисление (втупую, без метода Гаусса). Всё сошлось, значит метод Гаусса действительно работает даже в таком виде)
в 7м классе я неделю думал как эту задачу решить,но решил,тогда еще не было интернета и компа,я был так счастлив))) только 2 человека из класса решили ее)))
#include using namespace std; int sum(int x) { int y=0; while (x>=10) { y+=x%10; x/=10; } y+=x; return y; } int main() { int f; int cc; long long ss=0; cin>>cc; for(int i=1;i
есть еще 1 метод, но он более сложный наверное, сумма 1-9=45, каждая цифра в каждом столбце встречается, меньше в 10 раз, чем последнее число, то есть 100 000, рядов 6 6*100 000*45=27 000 000 и +1, то есть 27 000 001, ну в уме наверное это проще, ибо его можно использовать и для больших чисел
Можно посчитать и иначе. Так как все цифры встречаются одинаковое количество раз, то можно вычислить среднюю цифру на каждый знак от 0 до 9. Будет 4,5. Так как мы считали и ноль, то знаков у нас всегда шесть, хоть это 936862, хоть 000010. Поэтому 4,5 умножаем на 6 и получаем 27кк. И плюс семизначное число, то есть 1.
Сообразил не сразу, почему без 1 мы сможем посчитать сумму всех знаков в миллионе. Западная манера подачи материала видимо для отсечки на начальном этапе не особо одаренных вроде меня и для зарабатывании денег при дополнительном объяснении. Радует то, что я все же смог.
Как любит говорить один хороший тубер в своих видосах после какого-нибудь вопроса: "Ставь лайк, если ты тоже (причина опроса) - посмотрим, сколько нас... ааааа наебал, не посмотрим" :))
Сумма всех натуральных чисел равна -1/12. Высосать из этого утверждения можно следующее 1. Числовой ряд замыкается между минус бесконечность и плюс бесконечность. 2. Сумма всех отрицательных и положительных чисел (не только натуральных) равна -1/12. 3. Ассиметрия - сумма отрицательных чисел больше суммы положительных на 1/12. Проложить мостик между абстрактной математикой и реальной действительностью, в частности: 1. Вселенная замкнута в пространстве - объясняется расширение вселенной одинаково во сех направлениях (отсутствие центра вселенной). 2. Объясняется ассиметрия - преобладание материи над антиматерией. )))
Я тоже решил эту задачу, только я начал c нуля. Ноль добавить самую последнюю цифру и. т. д. (Массив с нуля начинается же ; ). ). N*(N/2)+(N/2) где N - любое натуральное число. Зацените, ребят. Я эту формулу придумал еще тогда, когда методом Гаусса не был знаком..
Считал иначе. Выписал все числа от 000.000 до 999.999 в столбик. В каждом из 6 столбцов каждая цифра встречается ровно 100.000 раз. Получаем (0+1+2+..+9)*6*100.000, и ещё 1 от 1.000.000 = 27.000.001
Такое решал на городской олимпиаде 7-8 классе) Я не математик, конечно, но формула n(n+1)/2 (к ней я пришёл путём решения олимпиад уже в 9-10 кл) иллюстрирует данное решение. При условии, что это ряд чисел 1,2,3,....,n-1,n
Интересно. Я нашел ответ примерно также быстро, но иначе. Среднее значение цифры (0+9)/2 = 4.5. Всего цифр в числе 6, то есть среднее значение суммы цифр для числа будет 4.5*6=27. Всего чисел миллион, значит общая сумма цифр будет 27 миллионов. Ну и как раз 1000 000 еще не учитывался, так что плюс один.
"Всего цифр в числе 6" - ясно-понятно, а чего не 7, 8 или 9? Ведь судя твоей логике можно дописать сколько угодно нулей впереди и суть не поменяется, как тебе кажется. Многие задачи в математике решаются добавлением чего-то иного, что отсутствует в исходных данных. Посмотрел бы я как такое в физических или химических процессах прокатит? Потому как меняя исходные данные (условия) меняется и результат... Ты как на чувак на видео, который привёл в пример Гаусса, который, кстати говоря, решил без добавления новых данных, но не стал равняться на него...
от того что ты нули добавишь сумма изменится? здесь же он написал число цифр играющих роль, причем тут вообще исходные данные, ты вообще сравниваешь абсолютно разное
Ваш ход рассуждений математически совершенно неверен. Такого понятия как среднее значение цифры в математике не существует. К примеру, изменив условие задачи на "найти сумму цифр от 1 до 100 001", Ваш ход рассуждений приводит к ответу 27 000 029, что не является верным, т.к. ответ 27 000 003. Простите, но Вы подогнали решение под ответ.
по другому считал, результат (естественно) тот же: возьмем все числа от 0 до 999999. Причем с ведущими нулями (000123). Нули на сумму не влияют, поэтому можно :) всего цифр в этих числах 1000000 * 6 (в каждом числе 6 цифр). Делим это число на 10 (количество цифр вообще) и умножаем на 45 (сумма различных цифр). получаем те самые 27000000... ну и осталось прибавить единичку от миллиона.
Пфф.. 1. Посчитал сначала сумму от 1 до 9 = 45. 2. Далее прикинул для двухзначных от 10 до 99. Составил мысленно таблицу (где строка от 10 до 19, следующая от 20 до 29 и т.д) и прикинул по разрядно как повторяются числа, первый разряд чисел от 1 до 9 повторяется 10 раз, а второй 9. Итого для двухзначных будет (9+10)*45. 3. Далее повторил для трехзначных, получилось 20*45*9+100*45 =280*45, где 20*45 - сумма первых двух вычислений, понял что для чисел от 1000 до 9999 это будет выглядеть, как сумма первых трех вычислений помноженной на 9 + 1000*45=300*9*45+1000*45=3700*45. 4. Увидел закономерность, вывел формулу ---- 1+сумма (от n=1 до 6) (9*(n-1)+10)*10^(n-2)*45 = 1+45+19*45+280*45+3700*45+46000*45+550000*45 = 1+45*(1+19+280+3700+46000+550000) = 1+45*600000 = 27000001. Где n=6 - количество нулей в заданном числе. Формула работает только для чисел 10, 100, 1000, 10000 и т.д
Зачем так много было писать??? Всё куда проще: В множестве чисел от 0 до 1 000 000 содержится 1 000 000 чисел + 1 (!). Так как у меня в телефоне сейчас 27%, ответ - 1 000 000 * 27 + 1.
жаль, что он не пояснил за доказательство, какого рожна сумма чисел пар в отдельности всегда будет ровна сумме чисел их суммы, ведь в общем случае не работает такое (типо 55 и 56 - суммы 21 и 3 соотв.) понятно, что прикол в разбиении на сумму именно чисел вида 9...9, но для прям норм разбора можно было б пару слов и уделить) а то может сложиться ложное впечатление у смотрящих, что они всё поняли в этой задаче
Даже не объяснил почему складывается сколько-то раз..Если по-простому(наверное). .а1+а2+а3+а4+....аn.Т.е складываем мы n раз(можно даже привести прмер:1+2.Мы сложили первое число м второе т.е 1 и 2,два числа.. или 1+3+5 мы сложили три числа и т.д.) .Если сложить ещё раз только в обратном порядке то получится 2S=аn+a1+аn+a1....,но во второй сумме мы складывали тоже n раз,т.е когда мы складываем ряды она также складывается n раз ))).То тогда А1+АN складывается n раз,а это тождественно n(a1+an).Т.е 2S=n(a1+an)где S =n(a1+an)/2.Но это не во всех прогрессиях.Скорее только в арифметической.Т.к между ними членами этой прогрессии стоит особая закономерность(если ее можно назвать особенной),это разность арифметической прогрессии.Ну,а многое другое есть об прогрессиях 9 класса.Жаль я поздно
я первую задачу решил за пару секунд, но не так как показано в видео. Если нужно сложить все цифры от 1 до 100,, то у нас получится 100 слагаемых. Среднее значение слагаемых 50,5 ( (1+100)/2 ). Теперь достаточно умножить среднее значение слагаемых на количество слагаемых и получим 50,5 * 100 = 5050
Для тех кто не понял, почему 27 000 001 и не 28 000 000. Он же сказал в начале, что сложить надо все числа. Т.е. на предпоследнем этапе, когда у нас получилось число 27 000 000, мы добавляем к нему 1 000 000 в виде (1 + 0 + 0 + 0 + 0 + 0 + 0). 27 000 000 + 1 + 0 + 0 + 0 + 0 + 0 + 0 = 27 000 001 Вуаля !
если ты задашь системе алгоритм сложения подряд то она значительно дольше будет его считать чем по второму алгоритму, для ЭВМ это очень важно, намного меньше ресурса уходит
*Я который думал что он будет считать от одного до миллиона* 🗿
Мля, я тоже так думал
За 6 минут🗿👍🏻
Жизаааа
🗿
Нуу
комменты напомнили анекдот:
Физику, математику и инженеру дали задание вычислить объем красного резинового мячика.
Физик погрузил мяч в стакан с водой и измерил объем вытесненной жидкости.
Математик измерил диаметр мяча и рассчитал тройной интеграл.
Инженер достал из стола «Таблицу объемов красных резиновых мячей» и нашел нужное значение.
а инженер?
Инженер открыл таблицу и посмотрел значение
Igor Deryabin -_-
не хочу быть занудой, но какой там тройной интеграл? Зная диаметр резинового мячика, можно воспользоваться простой формулой поиска объема шара, где присутствует куб, но уж точно никакого интеграла %)
ну и что? через тройной интеграл объём шара измеряется точно так же легко
тут всё дело в другом... как то мне, ещё когда я училась в универе, соседка притащила задачку, мол, никак решить не мог её второклассник.
саму задачу я уже не помню, но там было чёт простенькое, я быстро накидала решение через систему двухлинейных уровнений с двумя неизвестными и решила, соседка оттащила это дитю, дитё почесало в затылке. сказало что они такого ещё не проходили.
тут уже я почесала в затылке, а как это можно решить ЕЩЁ примитивнее.
оказалось, что это была "задача на смекалку" и ответ нужно было подобрать :)
Наконец то Никита из Camedy Club делом занялся.
А я Никита, дно пробито
А я Никита, любимая поза 68
А я Никита больше всего люблю вставлять
@@Zapilivatel Мы про тебя ничего не знаем так что ответить некому
@@TheMicstepиди комеди клуб зыркни, интеллектуал.
А я сразу все понял. Нашёл ответ в течение 5 секунд после вопроса. 5 секунд ушли на прокрутку вперёд. Мой метод показал свою эффективность. Теперь думаю патентовать.
Это шутка?
@@anisimov_pangeon да
@@anisimov_pangeon ахахахах, пунктуальность это не твое
@@anisimov_pangeon 2года чел
@@cherryoshavot нет
емае.. 3 утра, как я сюда попал?
Halls of Fear ещё и из параллельной вселенной
У меня ща 3:40
Halls of Fear *Ё-моё пишется через дефис и с буквой "о", гений.*
тоже 3 утра
У меня ща 4:18 :D
а я прикинул, что количество используемых цифр одинаковое среди чисел чисел от 000000 до 999999 - за счет симметричности задачи(цифра 1 не имеет никаких отличий от цифры 2 и.т.д)
поскольку всего цифр 10, а всего использовано цифр 6*1000000=6000000, то каждая цифра встречается 600000 раз.
таким образом сумма цифр равна 600000*(0+1+2+3+4+5+6+7+8+9)=27000000. и еще число 1000000, то есть в итоге 27000001.
gopher Я решил точно так же, это как бы комбинаторный алгоритм, люблю этот метод, этот метод по моему более прост и универсален, но и метод в видео интереснее ))
gopher держи 5
Точно также решил
Круть
Я решил так как в видео)) Потому что мне эту историю еще в первом классе рассказывал учитель по математике))
Можно же было проще решить. Я пишу этот комментарий в 11:16, 11.06.2018. Складываем часы - 11+16=27. Умножаем на миллион, так как нужно узнать суммы чисел до миллиона - 27*1000000 = 27000000. Прибавляем единицу, потому что а почему бы и нет? И вуа-ля: 27000001.
Однозначно лучшее решение
neurolowfix дурак?
@@maxim9280 У него правильное решение!
Можно по другому, я пишу этот комментарий в 12:15, 29.09.2018. Складываю часы - 12+15 = 27. Умножаю на 1 млн. = получаю 27 000 000, и складываю с единицей. Опа-на = 27 000 001.
@@redkull829 все верно, я так же в школе считал, но учителя меня били за то что я решение задачи не отражал в тетрадке!
А мне рассказывали эту историю, что Гаусс задолбал своего учителя сверхбыстрыми решениями и он решил его "охладить" сложной задачкой.
Огрел тростью в среднем 5050 раз за урок, умножив на 0 реальных учителей с тростью.
охладил арифметическое траханье
Я тоже слышал историю, что Гаусс занимался всякой фигней, пушки Гаусса изобретал на уроках и учитель задолбался его охлаждать, придумывая раз за разом задачки вроде подобных.
Классическая история о гениальном ученике и его разочарованном учителе! Похоже, что молниеносные решения Гауссом математических задач вызывали напряжение в классе. Пытаясь "остудить его", учитель предложил юному Гауссу особенно трудную задачу, надеясь замедлить его. Но, как мы все знаем, Гаусса было не остановить. Он с легкостью решил задачу и стал одним из самых известных математиков в истории. Таким образом, похоже, что попытка учителя "остудить его" только подогрела страсть Гаусса к математике и закрепила его место в анналах истории математики.
смотрю видео и решил почитать комментарии, смотрю и думаю, откуда столько коментариев на русском, а потом фак! оно же с переводом на русский!)))))
Иван Филимонов неет ты че
гениально
4:53 несколько
Самую малость пропустил
😂😂😂😂😂😂🤣🤣🤣😂🤣🤣😂
Несколько сотен тысяч
Ладно🗿
0:55 Другое решение - 45*10^5*6+1=27000001, по формуле поразрядного нахождения суммы цифр чисел от 1 до 10^n - 45*10^(n-1)*n+1.
Как находим такую формулу?
Сначала посчитаем 0+1+2+3+4+5+6+7+8+9. Будет 45.
Известно, что при перечислении всех чисел цифры чередуются. Цикл идёт по кругу. Значит, для чисел от 1 до 99 справедливо, что в каждом разряде каждая цифра по 10 раз повторяется, т. е. будет результат 45*10*2.
В ряду от 1 до 999 цифры в каждом разряде повторяются уже по 100 раз, и их сумма будет 45*100*3. Если затронем число 1000, то тут сумма увеличится только на 1. Соответственно, в ряду от 1 до 10000 сумма цифр будет 45*1000*4+1, от 1 до 100000 - 45*10000*5+1.
Исходя из этого, для ряда чисел от 1 до 10^n общая сумма цифр будет равна 45*10^(n-1)*n+1.
Значит, для ряда чисел от 1 до 1000000, т. е. до 10^6, общая сумма цифр будет равна 45*10^5*6+1=27000001.
В принципе, 45*10^(n-1)*n+1=9*n*10^n/2+1
Я тоже пришел к этому решению, а потом увидел твой комментарий. )
тоже пришëл к этому решению, только не смог дошëл до 10^(n-1).
только у меня возникает вопрос, как посчитать сумму цифр от 1 до 19487, к примеру? ведь тут уже нельзя прийти к 9 в каждом разряде
Я, как обычный программист, увидел задачку и решил проверить. Эту задачу легко реализовать на Python. К тому, я задействовал встроенную библиотеку time, чтобы ради прикола сосчитать время выполнения кода. Вот, собственно, сам код:
import time
temp = time.time()
summa = 0
for i in range(1, 1000001):
for j in str(i):
summa += int(j)
print(time.time() - temp)
print(summa)
В первой строчке мы импортируем модуль time.
Во второй - присваиваем переменной temp текущее время.
В третьей - вводим новую переменную summa. Позже там будет хранится информация о сумме
В 4-6 строчке идет цикл с вложенным циклом. В четвёртой строке пробегаемся по каждому числу с 1 до миллиону. В пятой же мы пробегаемся по каждому из них и прибавляем к sum. Затем мы отнимаем текущее время от времени temp. Потом с помощью print, всё это выводим.
Я сижу с телефона (!), и консоль вывела следующее:
4.56493353843689
27000001
Невероятно, вычисления всего лишь за 4,565 секунд. К тому же, мы можем задать левую и правую границы нашего кода. С отрицательными надо додумать (хотя в условиях все равно будут только натуральные)
2) Без таймера:
summa = 0
for i in range(1, 1000001):
for j in str(i):
summa += int(j)
print(summa)
3) Для тех, которые любят строковые выражения и однострочечные коды:
print(sum([sum(int(i) for i in list(str(j))) for j in range(1, 1000001)]))
1:34 про мою школу??
Ахахахахахап
Да тут помоему про любую школу.
О, я верно посчитал.... (Pascal)
var
i,a,i2,c:integer;
b:string;
begin
for i:=1 to 1000000 do
begin
b:=inttostr(i);
for i2:=1 to length(b) do
c:=c+strtoint(b[i2]);
end;
writeln(c);
end.
ну ты в лоб считал, немного математики и программа провела бы вычисления гораздо быстрее.
Роман Петров хахаха это в Делфи
Ахтямов Ришат
У меня такая программа получилась:
writeln('27000001');
Double You
Delphi - диалект Pascal
Drakula'Channel Ахахаха)
Зашел в комменты, потерял самооценку
Я то думал, что среди зрителей таких умных вряд ли столько найдется, а тут пиздец
Пойду плакать в ванной
Молодец, что перевёл !!!
Все, кто с 2020, отзовитесь
20 часов назад)
Хай
@@petya_chin 4 минуты назад
Hi
3 дня назад
Прекрасно и познавательно!
Афигеть! Спасибо за озвучку!
4:45 "Давайте выпишем все цыфры от 1 до 1 000 000".... пошевелил мышкой, чтобы узнать сколько ролик длится... ;)
Как же я рад что ничего подобного не было в моей школе, а-то еще вдруг стало б интересно учиться и я вырос бы умнее 😂
Спасибо за перевод!
Спасибо большое. Супер тема
0:02-0:14 я подумал, что в него вселился дух Жака Фреско
да. решение правильное. потому что при всех сложениях не происходит переполнение разрядов. и магический ход карт не нарушается :)
Важное уточнение для понимания, которое упущено в видео. Когда ты так складываешь, то нигде не перегружается разряд. Всегда, в каждом разряде, цифра дополняется ровно до 9. Например, 236752 складывается с 763247 и все значения цифр сохраняются.
поясни нубу
Jeka920500 , тебе не нужно это знать, если ты не понял содержимое данного комментария.
Поясняю для нубов ))) Разряд это количество цифр в числе. Один разряд имеет значение от 0 до 9 (в десятичной системе). Т.е. если мы складываем 98+1=99 , а если 99+1=100 уже разрядность меняется.
тут не важно до скольки дополняется цифра. главное получить одинаковые пары. а потом посчитать количество пар. в числе количество цифр может увеличиться хоть в 10 раз главное чтоб все пары были одинаковыми и мы знали их количество.
Ну если не важно, то почему меняется сумма цифр с 54 на 2, если складывать не с нуля а с единицы т.е. (для наглядности) 0+999999 и сумма цифр равна 0+9+9+9+9+9+9=54, теперь начинаем складывать с единицы: 1+1000000, сумма цифр равна 1+1+0+0+0+0+0+0=2, а если по-твоему не имеет значение кол-во разрядов, то почему сумма мЭняется?????? СИНК ЭБОУТ ИТ (реал ток)
Получил то же самое статистикой.
От 000001 до 999999 на каждой позиции из 6-и все цифры появляются с равной частотой.
Если взять одну любую позицию, например, первую, то там будет одинаковое число цифр 0,1,2,3,4,5,6,7,8 и 9. Каждая - по 100 000 раз пооучается. Сумма 0+1+2+...+9 = 45. 45*100 000 = 4 500 000. Позиций всего 6. 6 * 4 500 000 = 27 000 000. Ну и поюс 1 в конце
Классный чел.
Приятно слушать
Перед просмотром написал программу, которая делает это вычисление (втупую, без метода Гаусса). Всё сошлось, значит метод Гаусса действительно работает даже в таком виде)
ans=0
for i in range(1,1000001):
for x in str(i):
ans+=int(x)
print(ans)
@@miko0892 я и не говорил что это что-то сложное)
Он так чудно пишет цифры))
Играю в игру Space Frontier на планшете. Высчитываю цену отправки нужного количества космонавтов по этой формуле, очень пригодилась
Спасибо тебе за качественный перевод. поставлю палец :D
в 7м классе я неделю думал как эту задачу решить,но решил,тогда еще не было интернета и компа,я был так счастлив))) только 2 человека из класса решили ее)))
Изи. Мне когда полгода отроду было мне мама сиську не давала, пока я такую задачу не решу.
Cисек просто не было походу))))
Комметны на ютубе как отдельный вид искусства
Шикарно)
Я так понял в этих комментах одни математики с математическими шутками про математику от математических шутников потому что это математика)
Все, я досчитал, получается 27000001!!!
Это неправда
@@user-bj4sj8mm5u правда
Блин, а я до ляма считал, ну в смысле от единицы начал плюсовать к ляму. Выходит 1000001, далее умножил на 500 000. Че то я ваще не в ту степь попер
#include
using namespace std;
int sum(int x)
{
int y=0;
while (x>=10)
{
y+=x%10;
x/=10;
}
y+=x;
return y;
}
int main()
{
int f;
int cc;
long long ss=0;
cin>>cc;
for(int i=1;i
@JEWS DIGLER Код, который за меньше, чем пол секунды вычисляет количество цифр от 1 до любого числа
есть еще 1 метод, но он более сложный наверное, сумма 1-9=45, каждая цифра в каждом столбце встречается, меньше в 10 раз, чем последнее число, то есть 100 000, рядов 6 6*100 000*45=27 000 000 и +1, то есть 27 000 001, ну в уме наверное это проще, ибо его можно использовать и для больших чисел
Наконец-то я нашёл человека, который решил как и я)
@@just_physic :)))
Можно посчитать и иначе. Так как все цифры встречаются одинаковое количество раз, то можно вычислить среднюю цифру на каждый знак от 0 до 9. Будет 4,5. Так как мы считали и ноль, то знаков у нас всегда шесть, хоть это 936862, хоть 000010. Поэтому 4,5 умножаем на 6 и получаем 27кк. И плюс семизначное число, то есть 1.
Гениально
ещё можно складывать 1 + 99 2+98 а потом добавить 100 и 50 (без пары равной 100 )
а толку? у тебя в сумме 1 всегда получится,
5050 это первая задачка, так чтоя тебя вообще не понял. Че тупим?
моя жизнь осталась прежней, пойду посмотрю про деление на ноль
Гаусс был великим математическим троллем 19-го века
18
Спасибо!
Сообразил не сразу, почему без 1 мы сможем посчитать сумму всех знаков в миллионе. Западная манера подачи материала видимо для отсечки на начальном этапе не особо одаренных вроде меня и для зарабатывании денег при дополнительном объяснении. Радует то, что я все же смог.
Потому, что суммы пар цифр не должны выходить за пределы своего регистра, т. е. не превышать 9.
python:
s=0
for i in range(10**6+1):
s+= sum(list(map(int, list(str(i)))))
print(s)
Самое функциональное решение этой задачи :). Но приведения к list можно было не делать
Нам училка рассказывала эту историю, даже в книжке есть тема про этот способ сложения)
Равно 1.
27 000 001, сумма всех цифр 28, итого 10, итого 1.
Это уже сумма цифр суммы
2+7+1=28?
Круто, а вообще сумма чисел от 1 до n считается по формуле n*(n+1)/2
Сумма арифметической прогрессии в помощь
Ну, собственно эта формула так и доказывается - через сложение первых и последних цифр.
Или если уж просто, то "(n+1)×(n/2)".
> а пока вы считаете.
ага, сижу и считаю
print(sum(map(lambda x: sum(x),[tuple(map(int,str(x))) for x in range(1000001)])))
Зрачки реально огромные у него
Хм, я сделал иначе. Сначала вывел среднее число - 50,5 и умножил на количество, получилось 50,5х100=5050.
Вот я формулу даже вывел для суммы последовательных чисел) еще в далеком 2001 году)
меня прикалывает как он пишет нолики 😂
А я цикл на JavaScript написал и он мне теперь сумму какой угодно последовательности чисел считает))
Сходится хоть?
Awesome
ГЕНИАЛЬНО!!!
можно было воспользоваться формулой Sn= 2*a1+(n-1)*d/2 *n
Вот же прикол. А я к компилятору кинулся)))
ох нехрена сибе . компикулятору
"А пока вы считаете..." - ага, нашёл дурака :)
А я начал считать, но когда видео закончилось, перестал.
Как любит говорить один хороший тубер в своих видосах после какого-нибудь вопроса: "Ставь лайк, если ты тоже (причина опроса) - посмотрим, сколько нас... ааааа наебал, не посмотрим" :))
Сумма всех натуральных чисел равна -1/12.
Высосать из этого утверждения можно следующее
1. Числовой ряд замыкается между минус бесконечность и плюс бесконечность.
2. Сумма всех отрицательных и положительных чисел (не только натуральных) равна -1/12.
3. Ассиметрия - сумма отрицательных чисел больше суммы положительных на 1/12.
Проложить мостик между абстрактной математикой и реальной действительностью, в частности:
1. Вселенная замкнута в пространстве - объясняется расширение вселенной одинаково во сех направлениях (отсутствие центра вселенной).
2. Объясняется ассиметрия - преобладание материи над антиматерией.
)))
Спасибо
Должен быть так
500 000 500 000.
Нет. Это сумма ЧИСЕЛ. А задача по его словам - сумма ЦИФР ЧИСЕЛ.
не шути так больше, я чуть не задохнулся))))
идиот
Лол, я додумался так решить: складывать числа типо 1 + 99 = 100, 2 + 98 = 100 и потом сложить все
Это придумал Гаусс
Пздц ты тупой))) 4900 твой ответ будет таким способом
@@valentinklevanec9352 да. И плюс еще оставшиеся без пар 100 и 50. И в итоге будет 5050
Фантастика
Это же задача нахождения факториала. Нам в школе этот пример рассказывали
Он случайно не родственник Кирпича из БК))
внук походу))
НПИ ?
*Ля 2019 год, до сих пор попрошайки в комментариях*
Я тоже решил эту задачу, только я начал c нуля. Ноль добавить самую последнюю цифру и. т. д. (Массив с нуля начинается же ; ). ). N*(N/2)+(N/2) где N - любое натуральное число.
Зацените, ребят. Я эту формулу придумал еще тогда, когда методом Гаусса не был знаком..
Считал иначе. Выписал все числа от 000.000 до 999.999 в столбик. В каждом из 6 столбцов каждая цифра встречается ровно 100.000 раз. Получаем (0+1+2+..+9)*6*100.000, и ещё 1 от 1.000.000 = 27.000.001
Такое решал на городской олимпиаде 7-8 классе)
Я не математик, конечно, но формула n(n+1)/2 (к ней я пришёл путём решения олимпиад уже в 9-10 кл) иллюстрирует данное решение. При условии, что это ряд чисел 1,2,3,....,n-1,n
ВикTOR Сиденко нихера у вас задачи в 7м классе. Я на городе интегралы считал в том возрасте
Владимир Путин поэтому президентом стал?
поэтому не верит Володя пиздаболам ))))
Интересно. Я нашел ответ примерно также быстро, но иначе. Среднее значение цифры (0+9)/2 = 4.5. Всего цифр в числе 6, то есть среднее значение суммы цифр для числа будет 4.5*6=27. Всего чисел миллион, значит общая сумма цифр будет 27 миллионов. Ну и как раз 1000 000 еще не учитывался, так что плюс один.
фига себе, клево, я тоже другим методом нашел
"Всего цифр в числе 6" - ясно-понятно, а чего не 7, 8 или 9? Ведь судя твоей логике можно дописать сколько угодно нулей впереди и суть не поменяется, как тебе кажется. Многие задачи в математике решаются добавлением чего-то иного, что отсутствует в исходных данных. Посмотрел бы я как такое в физических или химических процессах прокатит? Потому как меняя исходные данные (условия) меняется и результат...
Ты как на чувак на видео, который привёл в пример Гаусса, который, кстати говоря, решил без добавления новых данных, но не стал равняться на него...
от того что ты нули добавишь сумма изменится? здесь же он написал число цифр играющих роль, причем тут вообще исходные данные, ты вообще сравниваешь абсолютно разное
Ваш ход рассуждений математически совершенно неверен. Такого понятия как среднее значение цифры в математике не существует. К примеру, изменив условие задачи на "найти сумму цифр от 1 до 100 001", Ваш ход рассуждений приводит к ответу 27 000 029, что не является верным, т.к. ответ 27 000 003. Простите, но Вы подогнали решение под ответ.
а можно подробнее? лично мо формула для целых чисел. потом просто добавить 1 в вашем случае еще 2, или вы о самом первом человеке?
какое практическое применение существует для этой штуки?
Нам учитель по алгебре такую рассказывал,эхххххх колька
Кто из 2020-2021 поставьте лайк
А ты Я вижу, предусмотрительный)
Этот чувак всегда ходит удивлённым от чего то, типо в шоке
Давно уже нашел этот метод самостоятельно. Ничего в этом сверхъестественного нет
по другому считал, результат (естественно) тот же:
возьмем все числа от 0 до 999999. Причем с ведущими нулями (000123). Нули на сумму не влияют, поэтому можно :)
всего цифр в этих числах 1000000 * 6 (в каждом числе 6 цифр). Делим это число на 10 (количество цифр вообще) и умножаем на 45 (сумма различных цифр). получаем те самые 27000000... ну и осталось прибавить единичку от миллиона.
20год на носу 21 время 2:27 здрасти
0:35 10.01.2021
Ответ правильный, я скриптом проверил. Действительно 27 000 001.
А для если считать до 10 миллионов то получится 315000001
До 10 млн. Будет: 50 000 005 000 000
@@rovshenkerimov235 уверен?
100%
@@rovshenkerimov235 и, позволь спросить, как же ты получил это значение?)
@@rovshenkerimov235 я объясню почему ты неправ, но перед этим мне интересно, откуда такая уверенность?
В школе по математике всегда была 3, никогда ее не любил....наверное потому что так интересно в школе никогда не рассказывали
Можно было воспользоваться формулами арифметической прогрессии
арефметическая прогрессия
это фсе збс, but... как это мне в жизни пригодится? 😏
Это просто история...
Ну, например, можно посчитать, сколько цифр ты уже прожил. Или как вариант - свою ЗП посчитай приятно удивишься...
Я думал, что он вывел формулу суммы арифметической прогрессии
Кажется я знаю в честь кого будет названо ядро видеокарты 5050
Пфф..
1. Посчитал сначала сумму от 1 до 9 = 45.
2. Далее прикинул для двухзначных от 10 до 99. Составил мысленно таблицу (где строка от 10 до 19, следующая от 20 до 29 и т.д) и прикинул по разрядно как повторяются числа, первый разряд чисел от 1 до 9 повторяется 10 раз, а второй 9. Итого для двухзначных будет (9+10)*45.
3. Далее повторил для трехзначных, получилось 20*45*9+100*45 =280*45, где 20*45 - сумма первых двух вычислений, понял что для чисел от 1000 до 9999 это будет выглядеть, как сумма первых трех вычислений помноженной на 9 + 1000*45=300*9*45+1000*45=3700*45.
4. Увидел закономерность, вывел формулу ---- 1+сумма (от n=1 до 6) (9*(n-1)+10)*10^(n-2)*45 = 1+45+19*45+280*45+3700*45+46000*45+550000*45 = 1+45*(1+19+280+3700+46000+550000) = 1+45*600000 = 27000001. Где n=6 - количество нулей в заданном числе. Формула работает только для чисел 10, 100, 1000, 10000 и т.д
и че пфф? Твой метод громоздкий
Пздц, ты все это писал ради 7-ми лайков?
ебат ты точно не Гаусс
@@dudadota3228 Ради сорока семи лайков.
Зачем так много было писать??? Всё куда проще:
В множестве чисел от 0 до 1 000 000 содержится 1 000 000 чисел + 1 (!).
Так как у меня в телефоне сейчас 27%, ответ - 1 000 000 * 27 + 1.
все это только отвлекает людей от митингов )))
От митингов отвлекают более элементарной х...ней! Типа войны талибов с талибами.
Только включил вспомнил гауса .
жаль, что он не пояснил за доказательство, какого рожна сумма чисел пар в отдельности всегда будет ровна сумме чисел их суммы, ведь в общем случае не работает такое (типо 55 и 56 - суммы 21 и 3 соотв.)
понятно, что прикол в разбиении на сумму именно чисел вида 9...9, но для прям норм разбора можно было б пару слов и уделить) а то может сложиться ложное впечатление у смотрящих, что они всё поняли в этой задаче
Во-во, объяснение очень поверхностное
Даже не объяснил почему складывается сколько-то раз..Если по-простому(наверное).
.а1+а2+а3+а4+....аn.Т.е складываем мы n раз(можно даже привести прмер:1+2.Мы сложили первое число м второе т.е 1 и 2,два числа.. или 1+3+5 мы сложили три числа и т.д.) .Если сложить ещё раз только в обратном порядке то получится 2S=аn+a1+аn+a1....,но во второй сумме мы складывали тоже n раз,т.е когда мы складываем ряды она также складывается n раз ))).То тогда А1+АN складывается n раз,а это тождественно n(a1+an).Т.е
2S=n(a1+an)где S =n(a1+an)/2.Но это не во всех прогрессиях.Скорее только в арифметической.Т.к между ними членами этой прогрессии стоит особая закономерность(если ее можно назвать особенной),это разность арифметической прогрессии.Ну,а многое другое есть об прогрессиях 9 класса.Жаль я поздно
Ну просто решили, что если настолько простое объяснение не поймут, то только конченые долбоёбы
а я считал по другому... как 6000000/10 x (0+1+...+8+9)+1=600000*45+1
"по-гауссу" проще
Олег Андреев откуда у тебя появилось 600000
Смотря на него в голове всплыл прикол: "Секс это скучно. Я читал." :))) Задрот
Ну хотя бы он красивый)
фига Андрей Петров умный оказывается
я гуманитарий, 5-ый год учу языки, решил заглянуть в гости к математикам, послушать ваш язык и, сказать честно, я них*я не понимаю, о чем вы говорите
Я ничего не понял,но было очень интересно
Вот это он дал жару . У меня походу платы подгорел.
@@user-pt9dv9il2r я удивлен что смотрел 1 год назад
я первую задачу решил за пару секунд, но не так как показано в видео.
Если нужно сложить все цифры от 1 до 100,, то у нас получится 100 слагаемых. Среднее значение слагаемых 50,5 ( (1+100)/2 ).
Теперь достаточно умножить среднее значение слагаемых на количество слагаемых и получим 50,5 * 100 = 5050
+bojestvo OSU он тут нас за идиотов принял
Я хочу чтобы вы суммировали все числа бла бла ...
+bojestvo OSU формула арифметической прогрессии, не более
.
+Karton Armadon, он точно так же и сделал
хех а я уже знал эту формулу и как бы решил её не честно. Я знал это задачу...
Для тех кто не понял, почему 27 000 001 и не 28 000 000. Он же сказал в начале, что сложить надо все числа. Т.е. на предпоследнем этапе, когда у нас получилось число 27 000 000, мы добавляем к нему 1 000 000 в виде (1 + 0 + 0 + 0 + 0 + 0 + 0). 27 000 000 + 1 + 0 + 0 + 0 + 0 + 0 + 0 = 27 000 001 Вуаля !
Круто 👍👍👍👍
python
x = 0
for i in range(1000000):
i += 1
i = str(i)
for f in range(len(i)):
x += int(i[f])
print(x)
решено
MONAR на c++ решение лаконичнее
cout
Вот тебе решение в одну строчку xD:
print(sum([sum([int(x) for x in str(i)]) for i in range(1000001)]))
Noise Bomb слишком много символов
C#:
int count = 0;
string v;
for (int i = 1; i
А толку никакого... От этого алгоритма, зачем складывать числа от 1 до 1000000
если ты задашь системе алгоритм сложения подряд то она значительно дольше будет его считать чем по второму алгоритму, для ЭВМ это очень важно, намного меньше ресурса уходит