Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Object Pascal: кроссплатформенные технологии > Оператор цикла с условием


Автор: matrixanton 2.4.2008, 16:12
Здравствуйте!

Помогите пожалуйста составить 2 программы:

1) Найти 20 первых натуральных чисел, делящихся на 13 или на 17 и больше 500.

2) Дано вещественное число а. Напечатать  все значения n, при которых 1 + 1/2 + 1/3 + 1/n < a

Автор: volvo877 2.4.2008, 19:12
Цитата(matrixanton @  2.4.2008,  15:12 Найти цитируемый пост)
Правильность программ не важна.

Интересно, а зачем тебе тогда программы? Выключи свет, монитор, сядь в полной темноте за клавиатуру и постучи секунд 20 по клавишам... Что получится - то получится... Ну, Begin/End добавишь. 

Автор: matrixanton 2.4.2008, 21:43
volvo877,  очень весело smile 

Мне нужен сам принцип решения

Автор: matrixanton 3.4.2008, 08:09
Помогите пожалуйста smile 

Автор: matrixanton 3.4.2008, 17:35
Помогите пожалуйста решить! Очень нужно... люди smile 

1) Найти 20 первых натуральных чисел, делящихся на 13 или на 17 и больше 500.

2) Дано вещественное число а. Напечатать  все значения n, при которых 1 + 1/2 + 1/3 + 1/n < a


Автор: navi 3.4.2008, 21:37
вот первая:
Код

program p1;
var n,k:integer;
begin
n:=500;k:=0;
while k<=20 do begin n:=n+1; 
if (n mod 13=0) or (n mod 17=0) do begin k:=k+1; writeln(n);end;end;
readln;end.

 примерно так не проверял! должна работать...

Автор: matrixanton 3.4.2008, 22:48
navi

Спасибо! Если будут время, помоги со второй пожалуйста  smile 

Автор: mr.Anderson 3.4.2008, 22:54
Вторая (не проверял, но алгоритм вроде правильный):
Код

program p2;
var
 a : Real;
 n : Integer;
 s : Real;
begin
 readln( a );

 s := 1.0;
 n := 1;

 while( (s-a) < 0.00001 ) do
 begin
  writeln( n );

  s := s + 1/n;
 
  inc( n );
 end;
end.

Автор: matrixanton 3.4.2008, 23:14
mr.Anderson, большое спасибо за помощь! smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)