Форум программистов, компьютерный форум, киберфорум
Наши страницы
Pascal ABC
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
JeyDi
0 / 0 / 0
Регистрация: 30.11.2014
Сообщений: 2
1

Не могу найти ошибку, заполнить массив тридцатью первыми простыми числами

30.11.2014, 12:47. Просмотров 894. Ответов 1
Метки нет (Все метки)

Пытался заполнить массив тридцатью первыми простыми числами, но, видимо, накосячил с операторными скобками, помогите, пожалуйста, найти ошибку.
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
var b:boolean;n,i,k:uint64;
a:array[1..30] of uint64;
begin
a[1]:=1;
k:=2;
n:=3;
b:=true;
while k<=30 do begin
for i:=2 to n-1 do begin
if n mod i=0 then
b:=false;
end;
if b=true then begin
a[k]:=n;
k:=k+1;
end;
n:=n+1;
end;
for i:=1 to 30 do
write(a[i],' ');
end.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.11.2014, 12:47
Ответы с готовыми решениями:

Заполнить массив n первыми простыми числами (2, 3, 5, 7,.) и вывести его
12. С клавиатуры вводится число n. Заполнить массив n первыми простыми числами...

Заполнить целочисленный массив из 15 элементов первыми простыми числами
заполнить целочисленный массив из 15 элементов первыми простыми числами.

Заполнить массив первыми числами Фибоначчи
Заполнить массив первыми числами Фибоначчи. Пожалуйста, помогите с решением

Заполнить массив первыми N натуральными числами в обратном порядке
Напишите программу, которая заполняет массив первыми N натуральными числами в...

Заполнить массив десятью первыми числами последовательности Фибоначчи
Заполните массив десятью первыми числами последовательности Фибоначчи (первые...

1
erl27
899 / 747 / 832
Регистрация: 06.09.2013
Сообщений: 1,561
30.11.2014, 16:20 2
Вот, подправил:
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
const
  Q = 30; //количество простых чисел
 
var
  b: boolean;
  n, i, k: integer;
  a: array[1..Q] of integer;
 
begin
  cls;
  a[1] := 2; //первое простое число 2, а не 1!
  k := 2;
  n := 3; //второе простое число
  while k <= Q do 
  begin
    b := true; //число по умолчанию простое{ это должно быть в цикле! } 
    i := 2;
    for i := 2 to n - 1 do
      if n mod i = 0 then begin
        b := false; //число составное
        break //выходим из текущего цикла
      end;
    if b = true then begin
      a[k] := n;
      k := k + 1;
    end;
    n := n + 2; //увеличиваем на 2 (следующее нечетное число)
  end;
  for i := 1 to Q do
    write(a[i], ' ');
end.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.11.2014, 16:20

Заполнить массив разными простыми числами
Заполнить массив разными простыми числами

Заполнить массив двадцатью первыми натуральными числами, делящимися нацело на 13 или на 17 и находящимися в ин
Заполнить массив двадцатью первыми натуральными числами, делящимися нацело на...

Заполнить массив двадцатью первыми натуральными числами, делящимися нацело на 13 или на 17 и большими 300
а) двадцатью первыми натуральными числами, делящимися нацело на 13 или на 17 и...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru