문제

내가 이것을 직접 작성하기 전에 다음 행동의 루비 구현을 본 사람이 있습니까?

puts 7.nextprime();     #=>  11
puts 7.previousprime(); #=>  5
puts 7.isprime();       #=> true

분명히 이런 종류의 일은 많은 수의 사람들에게는 못 생겼지 만 정수는 결코 수천 명 (나에게 일반적인 사례)을 초과하지 않기 때문에 현명한 구현이 가능하므로 문제가됩니다.

도움이 되었습니까?

해결책

루비에는 내장이 함께 제공됩니다 Prime 1에서 시작하는 프라임을 통해 반복 할 수있는 클래스이지만 1 이외의 시작 값으로 초기화 할 수있는 방법은 없습니다. 루비의 수학이 느려질 수 있고 성능이 요인이라면 C 또는 Java 확장으로 작성하는 것을 고려하는 것이 더 나을 수 있음을 명심해야합니다. 다음은 다음과 같습니다 루비인 라인을 사용하여 primes를 생성하는 방법 c.

또한 메소드 이름을 사용하지 않는 것이 좋습니다. 7.isprime - 루비의 컨벤션은입니다 7.prime?.

다른 팁

발견 된 스 니펫을 살펴보십시오 여기. 그들은 당신에게 헤드 스타트를 줄 수 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top