Дан массив(одномерный) из 100 элементов. Заполнить случайным образом числами от 0 до 99.
Посчитать кол-во четных чисел, нечетных, кол-во нулей, кол-во простых чисел(это числа,которые делятся только на себя и на 1)
[Ответ]
самому не стыдно? такие задачи обычно в школе дает учитель после объяснения темы массивы
[Ответ]
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.
Однако, оригинальная проверка на "простоту" числа...
[Ответ]
Milky Man 21:32 27.11.2007
Сообщение от Snusmumrik:
49-простое число? Спрошу более конкретно)
Да и вообще за такой перебор множителей наврядли ктонибудь по головке погладит... Множители надо перебирать до round(sqrt(a[i])). хе-хе-хе)
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 лет. А вчера днем был мой деньваренья. Интересно, отписался ли ктонибудь в поздравлялках?)
[Ответ]