помогите с паскалемЕсли выписать все натуральные числа меньше 10, кратные 3 или 5, то получим 3, 5, 6 и 9. Сумма этих чисел равна 23.Найдите сумму всех чисел меньше 1000, кратных 3 или 5.
>>205007276 (OP)Ты чё, дурак, блять? Просто хуяришь цикл от одного до 1000, в цикле условие, что если число делится на 3 или 5 без остатка, то прибавляется к какой-нибудь переменной, S, например.
>>205007276 (OP)цикл от 3 до 1000, каждый элемент проверяешь на нулевой остаток от деления на оба числа, если он есть - плюсуешь его к сумме.
>>205007276 (OP)s:=0;for i:=1 to 1000 do beginif i mod 3 = 0 then s:=s+i;else if i mod 5 = 0 then s:=s+i;end;
>>205007276 (OP)пробуй:varsum, i:longint;begin sum:=0; for i:=3 to 1000 do begin if ((i mod 3 = 0) and (i mod 5 = 0)) then sum:=sum+i; end; writeln(sum); end.
>>205007733> if ((i mod 3 = 0) and (i mod 5 = 0)) then sum:=sum+i;условие перечитай, там говорят ИЛИ.если бы нужно было два условия, то знаю математику можно остаток на 15 деления смотреть.
>>205007276 (OP)Опять школьник не может решить задачу 7-ого класса, и просит чтобы за него это сделал двач.
>>205007947Такую хуйню может написать любой семиклассник, который полчаса назад прочитал 10 страниц про паскаль из учебника по информатике.
>>205007974Паскаль в школьной программе - очень маленький язык, поэтому учебника информатики 8-ого класса, и 3 примера предостаточно.
https://alleng.org/d/comp/comp84.htm почему я нашел первой же ссылкой в гугле книгу?110 страниц придется прочитать. Но это не беда.
>>205007276 (OP)РЕШЕНИЕ В ОДНУ СТРОЧКУ НАХУЙint ne_ebu_za_paskal () { return (3333334 + 5199200 - 356667)/2;}Сумма чисел от 1 до n по гауссу = n(n+1)/2 Сумма чисел, кратных 3999/3 = 3333(1+2+...+333) = 3333334/2Сумма чисел, кратных 5995/3 = 1995(1+2+...+199) = 5199200/2Сумма повторяющихся числел198/3 = 6635(1+2+...66) = 3566*67/2
>>205008604Сумма чисел от 1 до n по гауссу = n(n+1)/2 Сумма чисел, кратных 3999/3 = 3333(1+2+...+333) = 3333334/2Сумма чисел, кратных 5995/3 = 1995(1+2+...+199) = 5199200/2Сумма gовторяющихся числел198/3 = 6635(1+2+...66) = 356667/2
>>205008640В школьной программе вы не будете играться с указателями. А указатели это лишь начало настоящего программирования.
>>205009164указатели указывают не на значение переменной, а на место в памяти, где значение лежит.крестобляди - С++
>>205007276 (OP)Имеем 333 числа, кратных 3, 200 чисел, кратных 5, и 66 чисел, кратных 15, то есть сумма кратных 3 это 3x(сумма чисел от 1 до 333), кратных 5 это 5x(сумма чисел от 1 до 999) и 15x(1 до 66), то естьS3 = 3x333x334/2 = 166833S5 = 5x199x200/2 = 99500S15 = 156667/2 = 33165Ну и ответ будет S3+S5-S15(так иначе 15 два раза учитываем)= 233168
>>205008692В настоящем программировании (Java script, PHP, Pyton, Ruby) давно отказались от указателей.
>>205009434> настоящем программированииЭто ненастоящее программирование, это сайты делать и скрипты для скачки с сайта и ложения в папку писать.
>>205009387>>205009431звездочки умножения включают вот такую хуйнюя уже несколько раз проебался>>205008604-кун
>>205009580Ентерпрайз давно в интернет переехал, развлекушечки еще раньше, игр все больше и больше становится в браузерах, в т.ч. крупняк, пусть пока и на джава-апплетах (кстати, в джаве тоже обоссаных указателей нет). Даи танки вон на пайтоне написаны.Так что все правильно чел сказал.Кресты - удел всяких там технарей и ардуинщиков, в общем, как асм когда-то.
>>205009746Ну не от и до, на питоне ток тестовая система и общалка с сайтом с документацией, требованиями и тд, шоб отчёты строить крч.
>>205009695Я вообще редко пишу.Нас всегда задрачивали именно на минимальное использование машины и максимальное использование математики.Одно дело до 1000 посчитать, а если там какие нибудь охуительные объемы информации? Или у тебя не комплюктер, а микропроцессор с нихуя памяти?А из таких вот решателей и получаются индусско-китайские быдлокодеры
>>205007276 (OP)Находишь сумму геометрической прогрессии an=3nНаходишь сумму геометрической прогрессии an=5nСкладываешь их.Вычитаешь из неё сумму геометрической прогрессии an=15n
>>205009957во ты дурачок.Человек тебя просит решить простейшую задачу. Очевидно, что задача из какого-то учебника, и предназначена она для закрепления знаний по циклам и условиям. Ты бы еще ооп и многомодульность сюда приплел, "штобе при рефакторинге проблем не было!!!".
>>205010208Нет не очевидно.Задача решается на бумаге умножением в столбик, приплетать сюда циклы - расписываться в собственной безграмотности.
>>205010208Для того, чтобы понять, как работает цикл, достаточно лишь прочитать его описание. Закреплять там гичеготне надо.Макаки, блядь. Через циклы у них делимость числа проверяется.
>>205007643unsigned calc_me(unsigned max){unsigned cnt=0;cnt += std::ceil(max/3);//деление с округлением в меньшую сторонуcnt += std::ceil(max/5);//Необходимо убрать пересечение множеств//Т.е. те, которые делятся и на три, и на пятьcnt -= std::ceil(max/15);return cnt;}Ёбаные вебмакаки, включайте моск, нахуй вам циклы?
>>205007276 (OP)>паскальПросто знай - те, кто задал тебе эту задачу, пытаются забить тебе в голову огромный куском ненужного протухшего говна.
>>205007276 (OP)Пошли их нахуй с паскалем и учи фронтенд, это живое бабло, а паскаль это крайне бесполезные знания
>>205007643Две тысячи операций выполнить процессор, считая этот говнокод. Вернее, даже больше, если учесть обращение и запись в память.
>>205010456А как же истории про то, что если ты выучил какой-нибудь Паскаль/питон, то потом легче учить более сложные языки, вроде крестов?
>>205010603Ты идиот? Зачем вообще трогать паскаль, если есть тот же питон, зная который уже можно в его нише зарабатывать, блядь.
>>205010431И не говори, дебилыarray_filter( array_sum( range(1,1000) ) funcion($n){ return !$n%5&&$n%3; });
>>205010656Да мне по хую, я зарабатываю фронтендом неплохие деньги, а на остальное мне глубоко насрать
>>205010603Путаться будешь.Лучше уж сначала выучить кресты, а потом просто посмотреть на питон сразу и все понять.Ну и чуть привыкнуть к фишечкам некоторым.
>>205010694Потому что в мухосранской шараге обучают Паскалю. Хотя я все равно его не учу и не знаю что тут забыл. И нам не объясняют, дали материал и сказали самим учить.
>>205010840Ага. В мухосранском колледже обязаны быть преподаватели из КалТеха или МИТ. Вот же сраная рашка!
>>205007276 (OP)>Найдите сумму всех чисел меньше 1000, кратных 3 или 5.В чём вообще может быть проблема?
>>205010894Нам просто дают задания, мол написать 10 программ и потом препод всю пару разговаривает со студентами или ещё с кем-нибудь. Хотя я бы и сам мог выучить язык, но я слишком ленивый, так что это не оправдание.
>>205010685Ну. 333 делящихся на три, 200 -- на пять, и 66 делящихся на пятнадцать.Только последние входят и в первое множество, и во второе, поэтому суммируем и вычитаем.Рассмотрим пример проще. Возьмём 20Делятся на три:3, 6, 9, 12, 15, 1820//3 = 6.Делятся на пять:5, 10, 15, 1820//5 = 4Делятся на пятнадцать:1520 // 15 = 1Как ты мог заметить, 15 входит и в первое и второе множества. Поэтому его надо вычесть.Получаем 4 + 6 - 1 = 9.Проверим простым перебором:3, 5, 6, 9, 10, 12, 15, 18, 209шт
>>205010603Лол, наоборот да, работает, а с питона на кресты пересаживаться почти то же, что и с нуля.
>>205010984Может потому что это отличный и простой для понимания новичком способ вырастить программистов, имеющих по крайней мере представление об алгоритмизации, а не создавать очередное поколение ИТ-дронов, способных только в одноизвилинное использование фреймворков?
>>205011060Ну, так и в исходной функции подразумевался максимум, который достигаем. Используй функцию правильно
>>205010898Ну а смысл.Скорость выполнения будет одинаковая, ведь сути это тоже самое.Просто цикл уже прописан зарание разработчиками.
>>205011171А вот ето я таки дебил, согласен.Найти сумму трёх рядов алгебраической последовательности для двух пределов и шага, думаю, сможет найти и каждый 7-классник по известной формуле. Также -- сложить первую сумму и вторую и вычесть третью.
>>205007276 (OP)mod_sum(k, n){n_k = floor((n-1)/k)return k x n_k x (n_k + 1)/2}f(n){return mod_sum(3, n) + mod_sum(5, n) - mod_sum(15, n)}
Блядь, любое натуральное число можно представить в виде произведения каких-либо натуральных чисел, не обязательно разных. Например 6=2×3; 1=1×1; 121=11×11.Таким образом мы можем представить те натуральные числа, которые делятся на 3, в следующем виде:a=3×n, где n - есть любое иное натуральное число.Тогда для n=1, a=3;для n=2, a=6 и т.д.Плюс есть ещё такая штука, как "геометрическая прогрессия" и формула для суммы её n-членовВот от этого нужно отталкиваться при решении подобных задач. Программирование это ведь прикладная математика. Там не требуется каждый день считать сраные интегралы или пределы, или работать с какими-нибудь объектами линала. Но хотя бы просто знать основы теории чисел и алгебры (НЕ ВЫСШЕЙ, алгебры действительных чисел хватит за глаза) нужно для упрощения своей собственной работы.
>>205011511ТРИ СУКА ВЫЗОВА ФУНКЦИИПочему бы просто, блядь, не вписать в return вот эту формулу три раза?
>>205012940А в общем случае будет так:mod_sum(k, n){n_k = floor((n-1)/k)return k x n_k x (n_k + 1)/2}f(lst, n){sum = 0sign = 1for i in lst.len{combs = generate_combinations(i, lst)for c in combs{k = reduce(mult, c)sum += sign x mod_sum(k, n)}sign x= -1}}}