IMHO.WS

IMHO.WS (https://www.imho.ws/index.php)
-   Программирование (https://www.imho.ws/forumdisplay.php?f=40)
-   -   Pascal-сумма корней... (https://www.imho.ws/showthread.php?t=96326)

Yurij 22.11.2005 20:18

Pascal-сумма корней...
 
Народ! Хелп.
Задача лёгкая, но почему то не пашет.
Условие:
x=сумме корней каждого члена от 99 до 3, причём числа уменьшаются на 3... т.е. sqrt(99)+sqrt(96)+...+sqrt(3)=x
Моя программа почему то не суммирует каждый член, а выводит последний... x всегда остаётся 0...
Помогите.

program if_1;
var
i:integer;
x,c:real;
BEGIN
x:=0;
for i:=99 downto 4 do
{либо ...x:=sqrt(i)+x;i:=i-2...}
begin
c:=i;
x:=sqrt(c)+x;
i:=i-2;
end;
writeln(x);
end.

ЕЖ 22.11.2005 22:02

Попробуй чуть попроще, вот так
Код:

i:=99;
while i>=3 do
begin
  x:=x+sqrt(i);
  i:=i-3;
end;


Yurij 22.11.2005 22:06

Примерно так же пробовал-результат отрицательный...
но что интересно в первом случае ответ ~2,7. а во втором отличается... 2,8...

Stasik 22.11.2005 22:12

Код:

program xxx;
uses
  WinCrt;
var
i:integer;
x:real;
begin
 x:=0;
 i:=99;
 while i>2 do
 begin
  x:=x+sqrt(i);
  i:=i-3;
 end;
 writeln(x);
end.

c for было лень думать..... выдаёт 2.2352466667E+02 т.е. 223.52 с копейками

Yurij 23.11.2005 13:49

Цитата:

2.2352466667E+02
это разве 223?
В первом случае sqrt из 99 = 9,9498743710661995473447982100121
и ответ был в форме ~9.94blablablaE+002...
И мне странно... почему же он постоянно обнуляет x...

ЕЖ 23.11.2005 14:02

Yurij
Ты явно где-то что-то не досмотрел, мой вариант и фактически такой же вариант Stasik выдают верный результат. Просто пиши при выводе дробных чисел везде что-то вроде write(x:5:5) - тогда и не будешь ошибаться.

Число после E означает степень 10-и, на которое нужно умножить результат левее E. Если число после E со знаком минус, то вместо умножения нужно делить на 10 в этой степени.

Shama_in_da_for 23.11.2005 23:10

Цитата:

почему же он постоянно обнуляет x...
У меня нормально работает твоя программа. Может скажу глупость, но мне больше нравится x:=x+sqrt(c), может в етом проблема :)


Часовой пояс GMT +4, время: 05:35.

Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.