Если это ваш первый визит, рекомендуем почитать справку по форуму. Для размещения своих сообщений необходимо зарегистрироваться. Для просмотра сообщений выберите раздел. |
Задачка на Паскале |
Философия, технологии, алгоритмы! |
|
Опции темы |
27.11.2007, 19:44 | #1 |
Registered User
Сообщений: 201
Регистрация: 06.06.2007
Не в сети |
Задачка на Паскале
Уважаемые форумцы!!! Выручайте!!!
Дан массив(одномерный) из 100 элементов. Заполнить случайным образом числами от 0 до 99. Посчитать кол-во четных чисел, нечетных, кол-во нулей, кол-во простых чисел(это числа,которые делятся только на себя и на 1) |
27.11.2007, 20:29 | #2 |
старый хрыч
Сообщений: 6,705
Регистрация: 17.12.2006
Возраст: 37
Не в сети |
|
27.11.2007, 20:41 | #4 |
Форумец
Сообщений: 215
Регистрация: 13.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. Меньше дрочи - паскаль учи |
27.11.2007, 20:57 | #7 | ||
Мегафорумец
Сообщений: 12,156
Регистрация: 28.11.2006
Возраст: 23
Не в сети |
Цитата:
Цитата:
Ведь для чегото делал? |
||
27.11.2007, 20:58 | #8 |
Мегафорумец
Сообщений: 12,156
Регистрация: 28.11.2006
Возраст: 23
Не в сети |
49-простое число? Спрошу более конкретно)
Да и вообще за такой перебор множителей наврядли ктонибудь по головке погладит... Множители надо перебирать до round(sqrt(a[i])). хе-хе-хе) |
27.11.2007, 21:02 | #11 | |
Мегафорумец
Сообщений: 12,156
Регистрация: 28.11.2006
Возраст: 23
Не в сети |
X0R, ты бы так решил?
Цитата:
http://u-antona.vrn.ru/forum/showthread.php?t=144629 |
|
27.11.2007, 21:32 | #13 | |
киллер
Сообщений: 3,236
Регистрация: 24.05.2006
Не в сети |
Цитата:
|
|
28.11.2007, 02:06 | #14 |
старый хрыч
Сообщений: 6,705
Регистрация: 17.12.2006
Возраст: 37
Не в сети |
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 лет, помолодел? |
28.11.2007, 19:17 | #15 | |
Мегафорумец
Сообщений: 12,156
Регистрация: 28.11.2006
Возраст: 23
Не в сети |
Цитата:
|
|