Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Задачи _ Найти натуральные числа...

Автор: modano 16.02.2004 14:26

Народ помогите плиз...Вот задача
Найти натуральные числа,которые при делении на 5 имеют остаток 3.
Мне за это две 5 поставят.Помогите!!!!Щас проходим тему условный оператор и оператор GOTO!!! ???

Автор: SKVOZNJAK 16.02.2004 14:48

ГОТО - это сила! Счас склепаю.

Автор: SKVOZNJAK 16.02.2004 15:07

Жаль Терминатор счас не видит, оценил бы.

Код

VAR Q8: WORD;
      Q3: BYTE;
LABEL 1,100;
BEGIN;
WRITELN;
Q8:=0;
1: Q3:=Q8 MOD 5;
IF Q3=3 THEN WRITE(' Q8=',Q8); INC(Q8);
IF Q8>1000 THEN GOTO 100;
GOTO 1;
100:
WRITELN(''); WRITELN('ГОТОВО');
END.


Автор: ALex___ 17.02.2004 21:40

видно что натуральные числа удовлетворяющие
заданному условию это числа ряда 3, 8, 13, 18 и тд., т.е. начиная с тройки
каждый последующий член ряда на пять больше предыдущего, дальше делай выводы сам.
к примеру, n-ый член ряда будет равен 3+5(n-1), ряд таких чисел образует
арифметическую прогрессию со всеми вытекающими отсюда последствиями...

Автор: ALex___ 18.02.2004 0:25

вот так мона и, навено, нуно сделать
будем выводить на консоль натуральные числа начиная с тройки до тех пор
пока какое-то натуральное число не превысит некий предел Lim
кстати мы можем заюзать цикл с параметром если сможем заранее вычислить число выводимых натуральных чисел
это можно сделать по формуле n-ого члена ряда и по значению Lim-а
an=3+5(n-1)=5n-2; если, к примеру, Lim=19, то 5n-2=19; n=4,...(нам не нужна дробная часть, поэтому в проге будем юзать деление нацело div) или в общем виде 5n-2=Lim; n=(Lim+2)/5
будет типа этого:

Код
const
Lim = 20;
var
i: Word;
v: LongInt;
begin

v := -2;
for i := 0 to (Lim + 2) div 5 - 1 do begin
 v := v + 5;
 Write(v, ' ')
end;
ReadLn

end.

Автор: SKVOZNJAK 18.02.2004 17:59

Формулы красивые, но где здесь условный оператор и GOTO?

Автор: ALex___ 18.02.2004 21:02

я прекрасно понимаю, что от него требуют учителя...
пусть два решения напишет авось и две 5 в натуре поставят