Большой Воронежский Форум
» Программирование>Задачка на Паскале
fotomix 19:44 27.11.2007
Уважаемые форумцы!!! Выручайте!!!

Дан массив(одномерный) из 100 элементов. Заполнить случайным образом числами от 0 до 99.
Посчитать кол-во четных чисел, нечетных, кол-во нулей, кол-во простых чисел(это числа,которые делятся только на себя и на 1) [Ответ]
X0R 20:29 27.11.2007
http://u-antona.vrn.ru/forum/showthread.php?t=213533 [Ответ]
mexx 20:35 27.11.2007
самому не стыдно? такие задачи обычно в школе дает учитель после объяснения темы массивы [Ответ]
lexfeel 20:41 27.11.2007
program Project1;

uses
SysUtils,
math;

var A: array [1..99] of integer;
prost,chetn,nechetn,i: integer;
begin
randomize;
chetn:=0; nechetn:=0; prost:=0;
for i:=1 to 99 do
begin
A[i]:= Random(100);
writeln(A[i],' ',i);
if (A[i] mod 2)=0 then inc(chetn) else inc(nechetn);
if not(((A[i] mod 2 =0) and not(A[i]=2)) or ((A[i] mod 3 =0) and not(A[i]=3))) then
inc(prost);
end;
Writeln('chetn=',chetn,' nechetn=',nechetn,' prost=',prost);
readln
end.

Меньше дрочи - паскаль учи [Ответ]
fotomix 20:43 27.11.2007
Спасибо большое! [Ответ]
shuri 20:56 27.11.2007

Сообщение от fotomix:
Спасибо большое!

Эх :-(
P.S. Самому было лень решить? [Ответ]
Snusmumrik 20:57 27.11.2007

Сообщение от lexfeel:
if not(((A[i] mod 2 =0) and not(A[i]=2)) or ((A[i] mod 3 =0) and not(A[i]=3))) then
inc(prost);

вот это не совсем понял. объясни, а?

Сообщение от lexfeel:
writeln(A[i],' ',i,' ');

а зачем пробел перед символом перехода на новую строку?)
Ведь для чегото делал? [Ответ]
Snusmumrik 20:58 27.11.2007
49-простое число? Спрошу более конкретно)

Да и вообще за такой перебор множителей наврядли ктонибудь по головке погладит... Множители надо перебирать до round(sqrt(a[i])). хе-хе-хе) [Ответ]
fotomix 21:00 27.11.2007
Да не лень, просто с языками никогда не сталкивался, сестренке в школе задали... [Ответ]
fotomix 21:02 27.11.2007
Вот по фотомонтажу и видео, если интересно могем пообщаться! Еще раз всем спасибо...только бы программка заработала! [Ответ]
Snusmumrik 21:02 27.11.2007
X0R, ты бы так решил?

Сообщение от lexfeel:
if not(((A[i] mod 2 =0) and not(A[i]=2)) or ((A[i] mod 3 =0) and not(A[i]=3))) then
inc(prost);

или shareware все-таки лучше freeware и as is?)

http://u-antona.vrn.ru/forum/showthread.php?t=144629 [Ответ]
Part!zan 21:14 27.11.2007
Однако, оригинальная проверка на "простоту" числа... [Ответ]
Milky Man 21:32 27.11.2007

Сообщение от Snusmumrik:
49-простое число? Спрошу более конкретно)
Да и вообще за такой перебор множителей наврядли ктонибудь по головке погладит... Множители надо перебирать до round(sqrt(a[i])). хе-хе-хе)

Ну, на "тройку" сойдёт. [Ответ]
X0R 02:06 28.11.2007
var
mas : array[1..100] of byte;
i, d, r, cet, ncet, pr, zero, max : byte;
begin
Randomize;
cet := 0; ncet := 0; zero := 0; pr := 0;
for i:= 1 to 100 do
begin
mas[i] := Random(100);
if (mas[i] mod 2) = 0 then Inc(cet) {считаем четные}
else Inc(ncet); {считаем нечетные}
if mas[i] = 0 then Inc(zero); {нулевые}
d := 2; max := Round(sqrt(mas[i]));
repeat
r := mas[i] mod d;
if r <> 0 then d := d + 1;
until (r = 0) or (d > max);
if d > max then Inc(pr);
end;
WriteLn('Четных : ', cet);
WriteLn('Не четных : ', ncet);
WriteLn('Нулевых : ', zero);
WriteLn('Простых : ', pr);
end.

PS Snusmumrik, вчера ночью те было 8 лет, помолодел? [Ответ]
Snusmumrik 19:17 28.11.2007

Сообщение от X0R:
PS Snusmumrik, вчера ночью те было 8 лет, помолодел?

Вчера ночью мне было 6 лет. А вчера днем был мой деньваренья. Интересно, отписался ли ктонибудь в поздравлялках?) [Ответ]
Вверх