Написать программу которая подсчитывает сумму натуральных чисел от 1 до n

var n, a, b : longint;
begin
write (‘Введите число N: ‘);
readln (N);
a := 0;
for b := 1 to n do
a := a + b;
writeln (‘Сумма чисел до N: ‘, a);
end.

Как добавить хороший ответ?

Что необходимо делать:

  • Написать правильный и достоверный ответ;
  • Отвечать подробно и ясно, чтобы ответ принес наибольшую пользу;
  • Писать грамотно, поскольку ответы без грамматических, орфографических и пунктуационных ошибок лучше воспринимаются.

Что делать не стоит:

  • Списывать или копировать что-либо. Высоко ценятся ваши личные, уникальные ответы;
  • Писать не по сути. «Я не знаю». «Думай сам». «Это же так просто» — подобные выражения не приносят пользы;
  • Писать ответ ПРОПИСНЫМИ БУКВАМИ;
  • Материться. Это невежливо и неэтично по отношению к другим пользователям.

Пример вопроса

Русский язык

7 минут назад

Какой синоним к слову «Мореплаватель»?

Найти натуральное число n найти сумму чисел от 1 до n

Пожаловаться

Хороший ответ

Вася Иванов

Мореплаватель — имя существительное, употребляется в мужском роде. К нему может быть несколько синонимов.
1. Моряк. Старый моряк смотрел вдаль, думая о предстоящем опасном путешествии;
2. Аргонавт. На аргонавте были старые потертые штаны, а его рубашка пропиталась запахом моря и соли;
3. Мореход. Опытный мореход знал, что на этом месте погибло уже много кораблей, ведь под водой скрывались острые скалы;
4. Морской волк. Старый морской волк был рад, ведь ему предстояло отчалить в долгое плавание.

Источник: uchi.ru

Сумма целых чисел от 1 до N

Сумма целых чисел от 1 до N

Довольно простая задача хоть и с подвохом и если вы знаете как её решить , то вам следует пропустить её.
Но если же вы ещё новичек в программировании и у вас возникают проблемы при решении , то вам следует рассмотреть разбор задачи.

Читайте также:
О чем книга ошибка программы

Устный разбор :

Вначале программы вводить значение переменной n. Например 4 . После этого создаем цикл , в котором посчитаем сумму всех чисел от 1 до N.

Первое решение задачи :

program mypascal;
var
n,s,i:integer;
begin

for i:= 1 to n do
s:= s + i;

Для решения данной задачи нам потребовались 3 переменные . Переменная «N» для хранения заданного числа N , переменная «s» для хранения суммы всех чисел от 1 до N и переменная «i» в качестве счетчика для цикла.

Вначале программы вводим значение переменной N . Например 5 .Далее цикл перечисляет все цифры от 1 до N , в нашем случае это 1 , 2 , 3 , 4 , 5. И все эти цифры складывает друг с другом занося значение в переменную «s».

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

7.3 Сумма чисел 2. «Поколение Python»: курс для начинающих. Курс Stepik

Второе решение задачи :

program mypascal;
var
n:integer;
begin

writeln(( 1 + n ) / 2 * n);

арифметическая прогрессия

В данной программе мы не используем цикл , что во много раз ускоряет работу нашей программы . Сам цикл мы заменяем арифметической прогрессией (формулой)

Очень короткий код. Нам понадобилась всего одна переменная N .Но и это решение не идеально , так как значение переменной N может быть отрицательным.

Третье решение :

program mypascal;
var
n:integer;
s:real;
begin

if ( n = 0 ) then
s:= 1;

Самое гибкое решение . Подойдет для любого случая. Отлично работает при больших значениях N , при отрицательных значениях N. Если условие вывести целое число.

Объявляются две переменные «N» и «s». Переменная N несет в себе значение числа n , которое задают с клавиатуры. Переменная S несет в себе сумму чисел от 1 до N.

1. Вводим значение N.
2. Если значение N отрицательное , то s = ((1+abs(n))*abs(n)/ 2 — 1) * -1. Иначе s = (1+n)*n/ 2.
3. Подстраховываемся на тот случай , когда N = 0 и присваиваем s значение 1. Так как сумма чисел от 1 до 0 равна 1.
4. Выводим переменную s через функцию trunc() ( Подробнее ) специально для того случая , когда в условии задачи написано вывести целое число , а наша переменная s имеет вещественный тип.

Читайте также:
Как пользоваться программой burner

Источник: mypascal.ru

Сумма чисел от 1 до N

Вначале программы вводим значение переменной n, например 5. Вычисления продолжаются в функции, где цикл перечисляет все цифры от 1 до m (которое имеет такое же значение, что и введенное n, но внутри функции), в нашем случае это 1, 2, 3, 4, 5. И все эти цифры складывает друг с другом занося значение в переменную «S». Но задача имеет свой подвох, так как при больших значениях N цикл будет занимать очень много времени. Есть простой способ решения этой проблемы. Второй вариант решения (сумма арифметической прогрессии): Из школьного курса математики нам знакома формула суммы арифметической прогрессии (которой является ряд чисел из условия задачи): С помощью этой формулы можно получить гораздо более эффективное решение. Например при n = 1000 будет выполнено одно сложение, умножение и деление вместо 1000 операций сложения (даже не считая инкременты счетчика цикла и сравнение его с n).

07.04.2022 в 10:23 #8502

Вариант этой задачи: Дано целое число N (> 1) . Вывести наибольшее из целых чисел K , для которых сумма 1 + 2 + … + K будет меньше или равна N , и саму эту сумму. Решение:

var N, k, Sum: integer; begin writeln(‘Введите целое число N(> 1):’); readln(N); K := 1; < Sum := 1; < < Выполняем цикл до тех пор, пока Sum+K+1 не больше N (K+1 — следующее за K слагаемое): >while Sum + K + 1 Sum := Sum + K < end; writeln(‘ K = ‘, K); writeln(‘ Сумма: ‘, Sum); readln end.

Просмотр 1 ветки ответов

Источник: pro-prof.com

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru