루비의 Fixnum 및 소수
-
23-08-2019 - |
문제
내가 이것을 직접 작성하기 전에 다음 행동의 루비 구현을 본 사람이 있습니까?
puts 7.nextprime(); #=> 11
puts 7.previousprime(); #=> 5
puts 7.isprime(); #=> true
분명히 이런 종류의 일은 많은 수의 사람들에게는 못 생겼지 만 정수는 결코 수천 명 (나에게 일반적인 사례)을 초과하지 않기 때문에 현명한 구현이 가능하므로 문제가됩니다.
해결책
루비에는 내장이 함께 제공됩니다 Prime
1에서 시작하는 프라임을 통해 반복 할 수있는 클래스이지만 1 이외의 시작 값으로 초기화 할 수있는 방법은 없습니다. 루비의 수학이 느려질 수 있고 성능이 요인이라면 C 또는 Java 확장으로 작성하는 것을 고려하는 것이 더 나을 수 있음을 명심해야합니다. 다음은 다음과 같습니다 루비인 라인을 사용하여 primes를 생성하는 방법 c.
또한 메소드 이름을 사용하지 않는 것이 좋습니다. 7.isprime
- 루비의 컨벤션은입니다 7.prime?
.
다른 팁
발견 된 스 니펫을 살펴보십시오 여기. 그들은 당신에게 헤드 스타트를 줄 수 있습니다.
제휴하지 않습니다 StackOverflow