Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 10.11.2011, 19:26   #1
sashabull
Новичок
Джуниор
 
Регистрация: 27.10.2011
Сообщений: 1
По умолчанию Цикл в Паскале - нужно найти такое наименьшее число n, что 1+1/2+...+1/n>a

Есть число а.
Нам нужно найти такое наименьшее число n, что 1+1/2+...+1/n>a.
sashabull вне форума Ответить с цитированием
Старый 14.11.2011, 13:41   #2
<- DelpHIFanat ->
Пользователь
 
Аватар для <- DelpHIFanat ->
 
Регистрация: 07.11.2011
Сообщений: 58
По умолчанию

У меня получилось так:
Код:
program Project1;

Var
  Sum: Real;
  a, n: LongInt;
begin

  Write('a = ');
  ReadLn(a);

  n:=1;
  Sum:=0;
  While (Sum<a) Do
    Begin
      Sum:=Sum+1/n;
      n:=n+1;
    End;

  If (Sum>=a) Then
    Begin
      Sum:=Sum-1/n;
      n:=n-1;
    End;

  WriteLn('Sum = ', Sum:6:8, '   n = ', n);

  WriteLn('Press ENTER!');
  ReadLn;
end.
Лучше вообще не иметь знаний о чём-то, чем иметь неправильные знания об этом!..
<- DelpHIFanat -> вне форума Ответить с цитированием
Старый 14.11.2011, 13:54   #3
Wicort
Форумчанин
 
Аватар для Wicort
 
Регистрация: 04.08.2009
Сообщений: 684
По умолчанию

Цитата:
Сообщение от <- DelpHIFanat -> Посмотреть сообщение
У меня получилось так:
Во-первых в цикле не "меньше", а "меньше или равно".
Во-вторых не понял смысла условия
Код:
If (Sum>=a) Then
    Begin
      Sum:=Sum-1/n;
      n:=n-1;
    End;
Еслия Вам помог, не поленитесь нажать на весы и оставить отзыв. Это не займет много времени, но даст понять, что я старался не зря =)
Мой ник зарегистрирован, а твой?
Wicort вне форума Ответить с цитированием
Старый 15.11.2011, 20:19   #4
<- DelpHIFanat ->
Пользователь
 
Аватар для <- DelpHIFanat ->
 
Регистрация: 07.11.2011
Сообщений: 58
По умолчанию

Смысл этого условия, что если сумма будет больше, то нужно отнять последнее слагаемое. Я просто невнимательно первый раз посмотрел на условие, и подумал, что сумма должна получиться меньше, чем a. Тогда это условие просто писать не нужно.
Лучше вообще не иметь знаний о чём-то, чем иметь неправильные знания об этом!..

Последний раз редактировалось <- DelpHIFanat ->; 15.11.2011 в 20:23.
<- DelpHIFanat -> вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Найти наименьшее натуральное число n, представимое двумя различными Zhasik Паскаль, Turbo Pascal, PascalABC.NET 8 08.03.2013 01:54
нужно взять нечетное число в цикл warma2d Помощь студентам 5 01.11.2010 23:42
Элементарная задача,определить наименьшее число juzam Паскаль, Turbo Pascal, PascalABC.NET 7 26.11.2008 23:53
Как найти большее число из имеющихся значений в Паскале? Auditor Помощь студентам 7 05.05.2008 21:57
то такое мастерство в программировании, что такое мастер программист и что он может? Cezar Свободное общение 29 02.06.2007 23:48