Программа R для поиска простых и составных чисел в интервале

Опубликовано: 15 Сентября, 2022

Натуральное число (1, 2, 3, 4, 5 и так далее) называется простым числом, если оно больше 1 и не может быть записано как произведение двух меньших натуральных чисел. Числа больше 1, которые не являются простыми, называются составными числами.

Составное число — это положительное целое число, которое можно получить путем умножения двух меньших положительных целых чисел. Эквивалентно, это положительное целое число, имеющее хотя бы один делитель, отличный от 1 и самого себя.

Пример:

Input: 2

Output: Prime

Explanation: it is divisible by only 2 so prime.

Input:

Output: Composite

Explanation: it is divisible by 2 and 4 so composite.

Input: 5

Output: Prime

Explanation: it is divisible by only 5 so prime.

Алгоритм:

  • Инициализируйте диапазон до того места, где будут отображаться простые и составные числа.
  • Создайте отдельные пустые списки для хранения простых и составных чисел.
  • Поскольку 1 не является ни простым, ни составным,
  • Начнем проверку условия для простого числа с 2 как i.
  • Начиная с 2 проверяет каждую цифру, которая точно делит i
  • Если никакое число не делит i, кроме i, то число сохраняется в списке простых чисел,
  • Остальное сохраняется в списке составных чисел.
  • Он выполняется до тех пор, пока не будет достигнуто n (заданное нами) ограничение.
  • После выхода из цикла он печатает как простые, так и составные числа в виде отдельного списка.

Пример:

R




# R code for Finding composite  and prime numbers  upto 100
# initialize number n
n=100
  
# arranging sequence
x = seq(1, n)
  
# creating an empty place to store the numbers
prime_numbers=c()
  
composite_numbers = c()
for (i in seq(2, n)) {
  if (any(x == i)) {
  
    # prime numbers gets stored in a sequence order
    prime_numbers = c(prime_numbers, i)
    x = c(x[(x %% i) != 0], i)
  }
  
  else{
  
     # composite numbers gets stored in a sequence order
     composite_numbers = c(composite_numbers, i)
  }
}
  
# printing the series
print("prime_numbers")
print(prime_numbers)
  
print("composite_numbers")
print(composite_numbers)

Выход:

[1] “prime_numbers”

 [1]  2  3  5  7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97

[1] “composite_numbers”

 [1]   4   6   8   9  10  12  14  15  16  18  20  21  22  24  25  26  27  28  30

[20]  32  33  34  35  36  38  39  40  42  44  45  46  48  49  50  51  52  54  55

[39]  56  57  58  60  62  63  64  65  66  68  69  70  72  74  75  76  77  78  80

[58]  81  82  84  85  86  87  88  90  91  92  93  94  95  96  98  99 100