127

Про математику и программирование1

Небольшое наблюдение о том, как важна математика программисту. Я изучал язык программирования Python с помощью программы, скаченной на Goodle Plays (май инглиш ис вери бэд). Там было одно задание, которое должно было научить азам, пользованию циклами, а задание такое - "сложите все цифры от 1 до N, точнее напишите программу, которая сделает это за вас". Скорее всего разработчики ждали что-то такое (циклы же):

S=0

while i<N:

S=S+i

i+=1

Но мы же в школе все изучали математику, поэтому я вспомнил формулу ряда натуральных чисел, тогда программа работает вообще без циклов:

S=N(N+1)/2

Здравия желаю))) Слова о том, что программист не может без знания математики, не беспочвенны

Правила сообщества

Публиковать могут пользователи с любым рейтингом. Однако!


Приветствуется:

• уважение к читателям и авторам

• конструктивность комментариев

• простота и информативность повествования

• тег python2 или python3, если актуально

• код публиковать в виде цитаты, либо ссылкой на специализированный сайт


Не рекомендуется:

• допускать оскорбления и провокации

• распространять вредоносное ПО

• просить решить вашу полноценную задачу за вас

• нарушать правила Пикабу

Вы смотрите срез комментариев. Показать все
DELETED
Автор поста оценил этот комментарий

Да, а ты в курсе что у тебя ошибка в цикле. Чему равна N. N всегда конечное число а не бесконечность. С тем же успехом в цикле можно было написать просто true и цикл так же был бы бесконечный. Ну и  можно было внести i++ и s+=i

раскрыть ветку (16)
3
DELETED
Автор поста оценил этот комментарий
В питоне же нет операции ++?
2
Автор поста оценил этот комментарий

ошибка не в этом, возможно n задана раньше, самой N в сумме не хватает, там должно быть <=.

раскрыть ветку (13)
DELETED
Автор поста оценил этот комментарий

Не обязательно. Конечно это ошибка, либо раньше просто было N-1, что не имеет смысла. Очевидно тут я ошибся) Не судите строго, я пью коньяк сейчас, и я орк)

раскрыть ветку (12)
0
Автор поста оценил этот комментарий

тогда n+1. и ошибка исправлена.

раскрыть ветку (11)
1
DELETED
Автор поста оценил этот комментарий

Ты про что? Формула ряда натуральных чисел воспроизведена верно, там произведение N+1 и N

раскрыть ветку (10)
0
DELETED
Автор поста оценил этот комментарий

Он имел ввиду:


S=0

i=0

while i<N+1:

    S=S+i

    i+=1


Или:


S=0

i=0

while i<=N:

    S=S+i

    i+=1


А ещё можно записать:


S = 0

for i in range(1, N+1):

    S += i

0
Автор поста оценил этот комментарий

про условный цикл.

раскрыть ветку (8)
1
DELETED
Автор поста оценил этот комментарий

Всё равно не понял, N+=1 - это запись принятая в Питоне, она заменяет то, что вы написали

раскрыть ветку (7)
0
Автор поста оценил этот комментарий

я не знаю синтаксис питона.

раскрыть ветку (6)
0
DELETED
Автор поста оценил этот комментарий

Там не сложно, хотя мне кажется, например язык Lua куда проще. И не по синтаксису, а по общему смыслу. В Питоне много головомойки с типами переменных, когда как в Lua операции с ними проводятся что называется "по контексту"

раскрыть ветку (5)
0
Автор поста оценил этот комментарий

типы переменных, в них нет ничего ужасного, они преобразуются, походу питон, более высокий язык чем си.

раскрыть ветку (4)
DELETED
Автор поста оценил этот комментарий

Наоблорот, в питоне, если ты указал тип переменных, она останется этого типа до страшного суда, в некоторых других языках такого нет, переменные там это то, что им назначили

раскрыть ветку (3)
DELETED
Автор поста оценил этот комментарий

Конечное, абсолютно верно, я думал, из изложения задачи понятно, что это число вводится пользователем

Вы смотрите срез комментариев. Чтобы написать комментарий, перейдите к общему списку