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

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

Форум «Всё о Паскале» _ Задачи _ Вывод чисел в диапозоне от 20 до 1000,делимых на 4,5,9

Автор: kurt 11.03.2007 14:04

Помогите решить задачу:"Определите и выведите на экран количество чисел между 20 и 1000, которые делятся
без остатка одновременно на 4,5,9"

Автор: volvo 11.03.2007 14:11

Вся программа - один цикл, внутри которого:

...
if ((X mod 4) = 0) and ((X mod 5) = 0) and ((X mod 9) = 0) then inc(count);
...

Автор: Perfez 11.03.2007 14:44

Есть более извращённый метод-признаки деления чисел. smile.gif Например:


var
k,i,p:integer;
s:string;
f:byte;
Function SumStr(s:string):integer;
var
j:byte;
l:integer;
Begin
For j:=1 to length(s) do
Begin
Val(s[j],f,k);
l:=l+f;
End;
SumStr:=l;
End;
Function LastStr(s:string):integer;
Begin
Val(Copy(s,length(s)-1,2),f,k);
LastStr:=f;
End;
Begin
For i:=20 to 1000 do
Begin
Str(i,s);
If ((s[length(s)]='5') or (s[length(s)]='0')) and (SumStr(s) mod 9=0) and (LastStr(s) mod 4=0) then p:=p+1;
End;
WriteLn(p);
End.


Вроде должно быть правильно... smile.gif
Цитата


...if ((X mod 4) = 0) and ((X mod 5) = 0) and ((X mod 9) = 0) then inc(count);...



Цитата

Определите и выведите на экран количество чисел между 20 и 1000, которые делятся
без остатка одновременно на 4,5,9

volvo,по-моему это должно быть так: smile.gif

For X:=20 to 1000 do
If ((X mod 4) = 0) and ((X mod 5) = 0) and ((X mod 9) = 0) then WriteLn(X);


yes2.gif

Автор: volvo 11.03.2007 15:01

Цитата
по-моему это должно быть так:
А по-моему, ты должен научиться читать задания:
Цитата(Задание)
Определите и выведите на экран количество чисел между 20 и 1000

Автор: Perfez 11.03.2007 15:22

Извини volvo, просчитался... rolleyes.gif smile.gif