R语言 在给定的范围内找到n个数字以内的完全数的R程序

R语言 在给定的范围内找到n个数字以内的完全数的R程序

给定一个范围,任务是编写一个R程序来打印该范围内的所有完全数。

一个正整数等于它的适当除数之和,被称为完全数。最小的完全数是6,它是1、2、3之和。其他完全数是28,496,和8128。请注意,所有的完全平方数都以0,1,4,5,6或9结尾,但是所有的数字都以0,1,4,5,6或9结尾,因此完全数不是完全平方数。例如,11、21、51、79、76等都不是完全平方数。

算法

  • 固定区间
  • 寻找数字的因子
  • 找出和
  • 检查等价性
  • 选择相应的
  • 递增数字
  • 以这种方式继续下去,直到达到区间的终点。

例子:

寻找从1开始的10个完全数和非完全数?

输出

[1] “1不是一个完美的数字”

[1] “2不是一个完美的数字”

[1] “3不是一个完美的数字”

[1] “4不是一个完美的数字”

[1] “5不是一个完美的数字”

[1] “6是一个完美的数字”

[1] “7不是一个完美的数字”

[1] “8不是一个完美的数字”

[1] “9不是一个完美的数字”

[1] “10不是一个完美的数字”

例1 :

for (k in 50:100) {
    n = k
    i = 1
    s = 0
  
    while (i < n) {
      if (n %% i == 0) {
        s = s + i
      }
      i = i + 1
    }
    if (s == n) {
      print(paste(n,"is a perfect number"))
    } else{
      print(paste(n,"is not a perfect number"))
    }
k=k+1
}

输出

[1] “1 is not a perfect number”

[1] .

[1] .

[1] “6 is a perfect number”

[1] “7 is not a perfect number”

[1] .

[1] .

[1] “27 is not a perfect number”

[1] “28 is a perfect number”

[1] .

[1] .

[1] “495 is not a perfect number”

[1] “496 is a perfect number”

[1] .

[1] .

[1] “500 is not a perfect number”

例2 :

perfect_numbers = c()
non_perfect_numbers=c()
for (k in 1:100) {
    n <- k
    i = 1
    s = 0
  
    while (i < n) {
      if (n %% i == 0) {
        s = s + i
      }
      i = i + 1
    }
  
    if (s == n) {
      perfect_numbers = c(perfect_numbers, n)
    } else{
      non_perfect_numbers = c(non_perfect_numbers, n)
    }
}
print(perfect_numbers)
print(non_perfect_numbers)
k=k+1

输出

(perfect_numbers)

[1]  6 28

(non_perfect_numbers)

[1]   1   2   3   4   5   7   8   9  10  11  12  13  14  15  16  17  18  19  20

[20]  21  22  23  24  25  26  27  29  30  31  32  33  34  35  36  37  38  39  40

[39]  41  42  43  44  45  46  47  48  49  50  51  52  53  54  55  56  57  58  59

[58]  60  61  62  63  64  65  66  67  68  69  70  71  72  73  74  75  76  77  78

[77]  79  80  81  82  83  84  85  86  87  88  89  90  91  92  93  94  95  96  97

[96]  98  99 100

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程