Другие языки программирования и технологии
Вопрос по паскалю!!! Срочно надо, плиз!!!
помогите написать программу нахождения суммы чисел бесконечного ряда s=1-2+3-4+5-...n-слагаемых
program snaga;
uses crt;
var
summa, i : integer;
begin
Readln('Введите количество слогаемых',n);
For i:=1 to n do begin
If mod(i/2)=0 then summa:=summa-i
else summa:=summa+i
// если нечетное то вычитаем если четное прибовляем
end;
Writeln(суммы чисел бесконечного ряда s=1-2+3-4+5-...n-слагаемых',summa);
end.
uses crt;
var
summa, i : integer;
begin
Readln('Введите количество слогаемых',n);
For i:=1 to n do begin
If mod(i/2)=0 then summa:=summa-i
else summa:=summa+i
// если нечетное то вычитаем если четное прибовляем
end;
Writeln(суммы чисел бесконечного ряда s=1-2+3-4+5-...n-слагаемых',summa);
end.
А если n будет равно миллиону или того лучше миллиарду. Что столько итераций делать будем? Иногда надо не хвататься суммировать, а сначала на циферки посмотреть.
Подсказка: найдите суммы пар слагаемых, подумайте и придете к такому решению.
program abc_new;
var z,n:integer;
begin
readln(n);
if n mod 2 = 0 then z := - n div 2 else z := n div 2 + 1;
writeln(z);
end.
Сравните с результатом, выдаваемым весией Igor B и вы получите полное совпадение. Вот только работать этот код будет не в пример быстрее. :-)
Но как только будет указано конкретное n, сразу же станет бессмысленной фраза в условии о бесконечности. Так что условие действительно не корректно и в этом я согласен с apprico.
Подсказка: найдите суммы пар слагаемых, подумайте и придете к такому решению.
program abc_new;
var z,n:integer;
begin
readln(n);
if n mod 2 = 0 then z := - n div 2 else z := n div 2 + 1;
writeln(z);
end.
Сравните с результатом, выдаваемым весией Igor B и вы получите полное совпадение. Вот только работать этот код будет не в пример быстрее. :-)
Но как только будет указано конкретное n, сразу же станет бессмысленной фраза в условии о бесконечности. Так что условие действительно не корректно и в этом я согласен с apprico.
вы точнее задание ставте. если ряд - бесконечен, то и n - стремиться к бесконечности. Ряд у вас - расходящийся. Найти его значение в вашей формулировке - не возможно .
Сергей Быков
если не знаешь-не пиши!!!
program abc;
var s1,s2,z,i,n:integer;
begin
readln(n);
for i:=1 to n do
begin
if (i mod 2)=0 then
s1:=s1-i;
else
s2:=s2+i;
end;
z:=s1+s2;
writeln(z);
end.
Вроде так с тебя 10 баллов !!!
var s1,s2,z,i,n:integer;
begin
readln(n);
for i:=1 to n do
begin
if (i mod 2)=0 then
s1:=s1-i;
else
s2:=s2+i;
end;
z:=s1+s2;
writeln(z);
end.
Вроде так с тебя 10 баллов !!!
Похожие вопросы
- Вопрос о worde/ Срочно ответьте, плиз
- Помогите с программой в Паскале, срочно!
- ЗАДАЧА ПАСКАЛЬ СРОЧНО
- очень срочно....маленький вопрос по паскалю
- Вопрос по паскалю и его применению.
- Нубские вопросы по паскалю. *)
- Вопросы про паскаль
- Вопрос по паскалю
- возник вопрос по паскалю
- Алгоритмы в паскале. Народ, напишите плиз алгоритм нахождения НОД и алгоритм выделения цифр числа. Заранее благодарю)
If mod(i/2)=0 then summa:=summa-i
Правильно так
If i mod 2 = 0 then summa:=summa-i