0 / 0 / 0
Регистрация: 26.09.2012
Сообщений: 87
1

Массив: найти все простые числа от 1 до n (n - входные данные)

07.10.2012, 16:50. Показов 10581. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Помогите решить задачку с массивами.
Найти все простые числа от 1 до n (n - входные данные).
Заранее большое спасибо
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
07.10.2012, 16:50
Ответы с готовыми решениями:

Перебором делителей найти простые числа в указанном диапазоне, и вывести все простые числа в поле Memo
Мне нужна программка на Delphi, которая простым перебором делителей находит простые числа в...

Найти все трехзначные простые числа. Определить функцию позволяющую распознавать простые числа
Найти все трехзначные простые числа. Определить функцию позволяющую распознавать простые числа....

Найти все трехзначные простые числа. Определить функцию, позволяющую распознавать простые числа
помогите пожалуйста с программой Найти все трехзначные простые числа. Определить функцию,...

Найти в массиве все простые числа и скопировать их в новый массив
Найдите в массиве все простые числа и скопируйте их в новый массив. С первой частью я более или...

5
2 / 2 / 2
Регистрация: 07.10.2012
Сообщений: 14
08.10.2012, 15:45 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
uses
  crt;
 
const
  m = 1000; // Для задания максимального размера массива.
 
var
  n, i, k, j: integer;
  a: array[1..m] of integer;
 
begin
  clrscr;
  read(n); // Задаем размер массива.
  for i := 1 to n do
    read(a[i]); // Заполняем массив.
  
  for i := 1 to n do
  begin
    for j := 1 to a[i] do
      if a[i] mod j = 0 then inc(k); // Проверяем количество целых делителей.
    if k = 2 then writeln(a[i]);
    k := 0;
  end;
  readkey;
end.
Хочу заметить, что 1 не является простым числом. Его программа выдавать не будет.
0
0 / 0 / 0
Регистрация: 26.09.2012
Сообщений: 87
08.10.2012, 17:56  [ТС] 3
Цитата Сообщение от vovik0134 Посмотреть сообщение
for i := 1 to n do
* begin
* * for j := 1 to a[i] do
* * * if a[i] mod j = 0 then inc(k); // Проверяем количество целых делителей.
* * if k = 2 then writeln(a[i]);
* * k := 0;
* end;
* readkey;
Спасибо за решение, но я в паскале не опытный и не затруднит ли вас объяснить по-строчно?
(Выделенную часть кода) Пожалуйста
0
zorax
08.10.2012, 18:40 4
Pascal
1
2
3
4
5
6
7
8
  for i := 1 to n do //Мы будем проверять каждое число от 1 до N
  begin
    for j := 1 to a[i] do // Число простое-число, у которого только два множителя 1 и оно само, следовательно чтобы узнать простое число, или нет, то нужно найти кол-во его множителей. Множители будем проверять от 1 до a[i]
      if a[i] mod j = 0 then inc(k); // Компьютер сравнивает, является ли j множителем числа, если да то, k увеличивается на 1 ( inc(k) = k:=k+1 )
    if k = 2 then writeln(a[i]); //Как говорилось ранее, тут два множителя, а следовательно это число простое, значит его выводим
    k := 0;// Зануляем к для последующей работы с ним
  end;
  readkey; //Эта процедура имеется только в uses crt, тоесть она ждет пока вы нажмете кнопку,только потом она выключает программу
2 / 2 / 2
Регистрация: 07.10.2012
Сообщений: 14
08.10.2012, 20:15 5
zorax всё правильно объяснил.
0
0 / 0 / 0
Регистрация: 26.09.2012
Сообщений: 87
08.10.2012, 21:30  [ТС] 6
Большое спасибо. Помогли!
0
08.10.2012, 21:30
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
08.10.2012, 21:30
Помогаю со студенческими работами здесь

Сформировать массив их 120 эл-тов. Найти все простые числа. Построить график и нанести на числовую ось.
Сформировать с помощью функции RND массив их 120 элементов. Найти все простые числа. Построить...

Считать строку из чисел, вывести на экран Все четные числа - элементы массива Входные данные вводятся через пробел, ввод
Считать строку из чисел, вывести на экран Все четные числа - элементы массива Входные данные...

Найти все простые числа, меньше данного числа N. Определение простого числа описать в функции
Найти все простые числа, меньше данного числа N. Определение простого числа описать в функции

Одномерный массив. Вывести на экран все числа, индексы которых есть простые числа.
Нужно вывести на экран все числа заданной последовательности, индексы которых есть простые числа....

Из массива X(N) все простые числа записать в массив Y(k), а остальные - в массив Z(m)
помогите пожалуйста решить задачу на языке си: Из целочисленного массива Х(N) все простые числа...

Заполните массив случайными числами и отберите в другой массив все простые числа
Заполните массив случайными числами в интервале и отберите в другой массив все простые числа....


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru