求出小于100的素数之和

时间:2017-06-02 13:09:51

标签: ruby rspec

我正在尝试在类中编写一个找到素数之和的方法。这就是我到目前为止所做的:

class Primes

    require 'rspec'
    require 'prime'

    def self_sum_to num
    Prime.each(num).inject(&:+)
    end

end

Primes.self_sum_to 100

我得到的错误是:

LoadError: cannot load such file — rspec
method require  in kernel_require.rb at line 55
method require  in kernel_require.rb at line 55
method <class:Primes>   in primes.rb at line 3
method <main>   in primes.rb at line 1'

如果我删除'require rspec',我会收到错误:

NoMethodError: undefined method ‘self_sum_to’ for Primes:Class
method <main>   in primes.rb at line 11

我不知道为什么我收到此错误,因为已经声明了self.sum_to方法。

对此的任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:1)

def self_sum_to更改为def self.sum_to

self_sum_to只是一种普通的方法,而self.sum_to定义了整个类的方法。

require 'prime'

class Primes
  def self.sum_to(num)
    Prime.each(num).inject(&:+)
  end
end

Primes.sum_to 100

答案 1 :(得分:-1)

公共类SumOfNPrmNos_2 {

public static void main(String[] args) {
    int sum = 0;

    for (int i = 10; i < 30; i++) {
        char check = 'T';
        for (int j = 2; j <= Math.sqrt(i); j++) {
            if (i % j == 0) {
                check = 'F';
                break;
            }
        }
        if (check == 'T') {
            sum = sum + i;
        }
    }
    System.out.println("Sum Is : = " + sum);

}

}