![]() |
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. |
Попробуй чуть попроще, вот так
Код:
i:=99; |
Примерно так же пробовал-результат отрицательный...
но что интересно в первом случае ответ ~2,7. а во втором отличается... 2,8... |
Код:
program xxx; |
Цитата:
В первом случае sqrt из 99 = 9,9498743710661995473447982100121 и ответ был в форме ~9.94blablablaE+002... И мне странно... почему же он постоянно обнуляет x... |
Yurij
Ты явно где-то что-то не досмотрел, мой вариант и фактически такой же вариант Stasik выдают верный результат. Просто пиши при выводе дробных чисел везде что-то вроде write(x:5:5) - тогда и не будешь ошибаться. Число после E означает степень 10-и, на которое нужно умножить результат левее E. Если число после E со знаком минус, то вместо умножения нужно делить на 10 в этой степени. |
Цитата:
|
| Часовой пояс GMT +4, время: 05:35. |
Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.