Var
summa: real;
n, i: byte;
begin
summa := 0;
write('Пожалуйста, введите с клавиатуры количество чисел: ');
readln(n);
i := 1;
while i < n do
begin
summa := summa + 1 + 1 * (i + 1) - n - 1;
i := i + 1;
end;
writeln('Сумма всех чисел = ', summa, '.');
end.
Моя попытка, которая оказалась неверной.
Домашние задания: Информатика
Pascal | Помогите, пожалуйста, решить задание.
Например если n=4, мы будем искать 1+1*2 + 1*2*3 + 1*2*3*4
Какая закономерность? Количество слагаемых = n. Количество перемножаемых растет от 1 до n
Шаги цикла все целочисленные, перемножаем целочисленные, результат перемножения и сложения тоже целый. Используем int
ИТОГО.
i
n
k - переменная для счета подцикла с произведением
res - результат перемножения в подцикле
summ - и конечно нужна переменная для суммы всей этой бадяги
Поехали
Алгоритм: Сначала основной цикл while(i<n) для summ1+summ2+...summN
Потом подцикл перемножения 1*2*...*n
Var
summ, n, i, res, k: integer;
begin
summ := 1;
res:=0;
write('Пожалуйста, введите с клавиатуры количество чисел: ');
readln(n);
i := 1;
while i < n do
begin
res:=1;
k:=1;
while k < i+1 do
begin
k:=k+1;
res:=res*k;
end;
summ:=summ+res;
i:=i+1;
end;
writeln('Сумма всех чисел = ', summ, '.');
end.
Код кривоватый, но рабочий) Ваш учитель - знаток мозготраха))
Через фор это делается куда проще))) Просто отличие вайла от фора в том, что фор доходит до конца, а вайл обрывает сразу как только условие меняется...
Можно и как у челика повыше, но я сомневаюсь что тебе понятны действия и учитель не подумает что ты списал.
А в моём варике тут и кривой код, и подгонка на результат)) Все лучшие показатели тру студента.
Удачи

Какая закономерность? Количество слагаемых = n. Количество перемножаемых растет от 1 до n
Шаги цикла все целочисленные, перемножаем целочисленные, результат перемножения и сложения тоже целый. Используем int
ИТОГО.
i
n
k - переменная для счета подцикла с произведением
res - результат перемножения в подцикле
summ - и конечно нужна переменная для суммы всей этой бадяги
Поехали
Алгоритм: Сначала основной цикл while(i<n) для summ1+summ2+...summN
Потом подцикл перемножения 1*2*...*n
Var
summ, n, i, res, k: integer;
begin
summ := 1;
res:=0;
write('Пожалуйста, введите с клавиатуры количество чисел: ');
readln(n);
i := 1;
while i < n do
begin
res:=1;
k:=1;
while k < i+1 do
begin
k:=k+1;
res:=res*k;
end;
summ:=summ+res;
i:=i+1;
end;
writeln('Сумма всех чисел = ', summ, '.');
end.
Код кривоватый, но рабочий) Ваш учитель - знаток мозготраха))
Через фор это делается куда проще))) Просто отличие вайла от фора в том, что фор доходит до конца, а вайл обрывает сразу как только условие меняется...
Можно и как у челика повыше, но я сомневаюсь что тебе понятны действия и учитель не подумает что ты списал.
А в моём варике тут и кривой код, и подгонка на результат)) Все лучшие показатели тру студента.
Удачи

Александр Еникеев
Спасибо большое! Стало намного понятнее.
А что нужно то?
Александр Еникеев
Нужно найти сумму 1+1*2+1*2*3+1*2*3*4+…+1*2*3*4*…*n, используя цикл while.
Похожие вопросы
- Помогите пожалуйста решить задачу по программированию (Pasсal ABC.net).
- Помогите, пожалуйста, решить по информатике
- Помогите пожалуйста с заданием по информатике
- Помогите пожалуйста с заданием по информатике, срочно надо
- Домашняя работа по информатике. 9класс.Помогите пожалуйста решить.
- Помогите пожалуйста решить.Срочно.
- Помогите пожалуйста решить задачи по информатике
- Помогите пожалуйста решить
- Информатика 8 класс задача помогите пожалуйста решить!
- Помогите, пожалуйста, решить задачу по информатике.