|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
31.01.2008, 21:32 | #11 | |
Новичок
Джуниор
Регистрация: 18.01.2008
Сообщений: 1,720
|
малость напортачили мы с условием вот так стоит
while(s < (float)a && k < 1000000) s += 1/(float)k++; ------------ Цитата:
|
|
31.01.2008, 21:51 | #12 |
Заблокирован
Форумчанин
Регистрация: 22.01.2008
Сообщений: 121
|
#include <iostream.h>
int main() { float a; long k=1; float s=0; cout<<"a="; cin>>a; while(s < (float)a && k < 1000000) s += 1/(float)k++; cout<<"s="<<s-1/k; cout<<"k="<<k-1; cin>>s; return 0; } Что-то не выходит. При а=2 выводит s = 2.08333 к=4 - чуть больше,чем надо |
31.01.2008, 21:54 | #13 |
Новичок
Джуниор
Регистрация: 18.01.2008
Сообщений: 1,720
|
Конечно не выходит, там еще типы надо приводить, а не торопить события.
Код:
----------- Можно добавить еще одну переменную (типа bool) и если превышено Kmax, то не печатать результат. Смысл Кmax заключается на самом деле в том, что у чисел (целочисленных типов в особенности) в машинном представлении есть вполне реальная верхняя граница, после которой увеличение значения уводит переменную или в отрицательные значения или в 0. Так что проверку, в принципе, можно и оставить, тем более, что этот ряд растет очень медленно. Последний раз редактировалось B_N; 31.01.2008 в 21:59. |
31.01.2008, 22:03 | #14 | |
Заблокирован
Форумчанин
Регистрация: 22.01.2008
Сообщений: 121
|
Цитата:
|
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Помогите, пожалуйста, с решением | Akademik | Помощь студентам | 2 | 23.04.2008 23:17 |
Помогите с решением функций. | Nikopol | Помощь студентам | 6 | 15.06.2007 23:57 |
Помогите с решением задачи!Please! | Инзия | Помощь студентам | 3 | 11.03.2007 07:50 |