سؤال

قبل أن أضعك على كتابة هذا بنفسي، هل شاهد أي شخص تنفيذ روبي للسلوك التالي؟

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

من الواضح أن هذا النوع من الأشياء سيكون قبيحا للأعداد الكبيرة ولكن للأعداد الصحيحة أبدا تجاوز عدد قليل من الف

هل كانت مفيدة؟

المحلول

روبي يأتي مع مدمج Prime الفئة التي تتيح لك التكرار من خلال الأعداد الأولية بدءا من 1، لكنني لا أرى أي طريقة لتهيئة قيمة البداية بخلاف 1، ولا فحص مسند لتحديد ما إذا كان هناك عدد أو لا أحد أم لا. أود أن أقول عن ذلك، على الرغم من أنه يجب أن تضع في اعتبارك أن الرياضيات في روبي يمكن أن تكون بطيئة وإذا كان الأداء عامل قد تكون أفضل حالا بالنظر في كتابة ذلك كملحق C أو Java. هنا مثال على كيفية استخدام Rubyinline لتوليد الأعداد الأولية في ج.

أيضا، أقترح عليك تجنب استخدام اسم الطريقة 7.isprime - الاتفاقية في روبي 7.prime?.

نصائح أخرى

ألق نظرة على المقتطفات الموجودة هنا. وبعد يمكن أن تعطيك headstart.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top