const
N = 50; {количество элементов массива}
var
A: Array[1..N] of Real; {массив}
I: Integer; {Порядковый номер}
J: Integer;
B: Boolean;
S: Real; {Сумма}
begin
{Заполняем массив случайными числами диапазоне 0-100}
Randomize;
I := 1;
while I <= N do begin
A := Random * 100;
Inc(I);
end;
{Находим сумму}
S := 0;
I := 1;
while I <= N do begin
{Определяем простой ли порядковый номер}
B := I > 1;
J := 2;
while J < I do begin
if I mod J = 0 then begin
B := False;
Break;
end;
Inc(J);
end;
{Если порядковый номер простое число}
if B then begin
{добавляем элемент массива к сумме}
S := S + A;
{и выводим на экран элемент массива и сумму}
WriteLn(I:4, A:7:3, S:9:3);
end;
Inc(I);
end;
{Ждем нажатия Enter}
ReadLn;
end.
Помогите с массивом
Пожайлуста, если нетрудно может кто-то знает как решать эту задачу, хотя бы на Паскале.
Цитата:
Originally posted by pikass
Задана последовательность N вещественных чисел. Вычислить сумму чисел, порядковые номера которых являются простыми числами(на одномерные массивы)
Пожайлуста, если нетрудно может кто-то знает как решать эту задачу, хотя бы на Паскале.
Задана последовательность N вещественных чисел. Вычислить сумму чисел, порядковые номера которых являются простыми числами(на одномерные массивы)
Пожайлуста, если нетрудно может кто-то знает как решать эту задачу, хотя бы на Паскале.
Мдя...
Простое число можно определить "Решетом Эратосфена"
Сумму элементов обычным сложением.
Что еще непонятного?
Цитата:
Originally posted by Greenering
Мдя...
Простое число можно определить "Решетом Эратосфена"
Сумму элементов обычным сложением.
Что еще непонятного?
Мдя...
Простое число можно определить "Решетом Эратосфена"
Сумму элементов обычным сложением.
Что еще непонятного?
Не понятно, что такое "порядковый номер" :D
Цитата:
Originally posted by pikass
Задана последовательность N вещественных чисел. Вычислить сумму чисел, порядковые номера которых являются простыми числами(на одномерные массивы)
Задана последовательность N вещественных чисел. Вычислить сумму чисел, порядковые номера которых являются простыми числами(на одномерные массивы)
Код:
Цитата:
Originally posted by verybadbug
Код:
{Определяем простой ли порядковый номер}
B := I > 1;
J := 2;
while J < I do begin
if I mod J = 0 then begin
B := False;
Break;
end;
Inc(J);
end;
B := I > 1;
J := 2;
while J < I do begin
if I mod J = 0 then begin
B := False;
Break;
end;
Inc(J);
end;
А можно еще и оптимизировать.
Максимальный делитель числа всегда меньше квадратного корня из него, следовательно
Код:
while J < Sqrt(I) do begin
Но это так, для общего развития...
Цитата:
Originally posted by sp999
Код:
while J < Sqrt(I) do begin
Код:
while J <= Sqrt(I) do begin
...если быть точнее
Народ а можно эту задачу решить каким то более простым способом ?
Куда уж проще...? можно еще проверку на простоту вынести в отдельную функцию.В учебных примерах проверку на простоту подразумевается осуществлять тупо перебором...тем более что тут массив небольшой...А вообще это сложная математическая задача, над которой бьются не одну тысячу лет и решения можно по пальцам пересчитать...первое тупо-перебор, второе решето Эратосфена, остальные читайте в книгах по криптографии :)
const N=5....Задание: При заданных одномерных массивах Х и Y одинаковой длины, вычислите элементы массива Т,первый элемент которого равен 1це ,а все последующие элементы вычисляются по формуле F(x) = SQRT(SQR( X[k]- Y[k]/ T[k-1]