📜  R程序在一个区间内查找素数和合数

📅  最后修改于: 2022-05-13 01:54:55.781000             🧑  作者: Mango

R程序在一个区间内查找素数和合数

一个自然数(1、2、3、4、5 等)如果大于 1 并且不能写成两个较小的自然数的乘积,则称为质数。大于 1 的不是质数的数称为合数。

合数是一个正整数,它可以由两个较小的正整数相乘而成。等效地,它是一个正整数,它至少有一个除 1 和它本身以外的除数。

例子:

算法:

  • 初始化范围直到显示素数和合数。
  • 创建一个单独的空列表来存储质数和合数。
  • 由于 1 既不是质数也不是合数,
  • 我们从 2 作为 i 开始检查素数的条件。
  • 从 2 开始检查每一个能将 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)


输出: