সাম্প্রতিক পাইথনকে ধাক্কা দিয়ে , পাইথনের শক্তি দেখানোর চেষ্টা এখানে। আপনার চ্যালেঞ্জটি হ'ল এমন একটি প্রোগ্রাম লিখুন যা n
10 সেকেন্ডের মধ্যে যথাসম্ভব উচ্চতর সংখ্যার ফ্যাক্টরিয়াল গণনা করে ।
আপনার স্কোর হবে (highest n for your program on your machine)/(highest n for my program on your machine)
বিধি
- আপনাকে অবশ্যই একটি সঠিক পূর্ণসংখ্যার সমাধান গণনা করতে হবে। যেহেতু fact৪ বিট স্বাক্ষরবিহীন পূর্ণসংখ্যায় ফিট করতে পারে তার চেয়ে অনেক বেশি কারণ, যদি আপনার ভাষা বড় সংখ্যাকে সমর্থন না করে আপনি স্ট্রিং ব্যবহার করতে পারেন
- স্ট্যান্ডার্ড লুফোলগুলি নিষিদ্ধ। বিশেষত, আপনি কোনও বাহ্যিক সংস্থান ব্যবহার করতে পারবেন না।
- কেবল গণনার অংশ (এতে স্ট্রিং ব্যবহার করে কোনও কাজের ক্ষেত্রের জন্য সময় অন্তর্ভুক্ত) মোট সময় যোগ করে যা গড়ে 10 সেকেন্ডের নীচে হওয়া উচিত।
- একক থ্রেডেড প্রোগ্রামগুলি।
- আপনাকে আউটপুটটি সহজেই মুদ্রণযোগ্য আকারে সংরক্ষণ করতে হবে (যেমন মুদ্রণের সময় লাগে) (আমার প্রোগ্রামটি নীচে দেখুন), স্ট্রিং, ভেরিয়েবল, অক্ষর অ্যারে ইত্যাদি store
সম্পাদনা করুন:
- আপনার প্রোগ্রামটি অবশ্যই সবার জন্য সঠিক ফলাফল প্রদান করবে
n
:1 <= n <= (your highest n)
EDIT2:
- আমি স্পষ্টভাবে এটি বলতে অপছন্দ করি তবে আপনার ভাষার অন্তর্নির্মিত ফ্যাক্টরিয়াল ফাংশনগুলি ব্যবহার করা স্ট্যান্ডার্ড লুফোলের আওতায় পড়ে http://meta.codegolf.stackexchange.com/a/1078/8766 দুঃখিত গণিত এবং aষি
আমার প্রোগ্রাম
from __future__ import print_function
import time
def factorial( n ):
return reduce( ( lambda x , y : x * y ) , xrange( 1 , n + 1 ) , 1 )
start = time.clock()
answer = factorial( 90000 )
end = time.clock()
print ( answer )
print ( "Time:" , end - start , "sec" )
সর্বোচ্চ স্কোর জয়। রেকর্ডের জন্য, আমার কোড পেন্টিয়াম 4 3.0 গিগাহার্টজ n = 90000
প্রায় 9.89
সেকেন্ডে পরিচালনা করতে পারে
সম্পাদনা: সবাই দয়া করে কেবল সর্বোচ্চ এন এর চেয়ে স্কোর যুক্ত করতে পারেন ? এটি আপনার হার্ডওয়ারের উপর নির্ভর করে কেবল সর্বোচ্চের নিজের দ্বারা কোনও অর্থ নেই। অন্যথায় উদ্দেশ্যমূলক বিজয়ী মানদণ্ড পাওয়া অসম্ভব। ali0sha এর অ্যাওয়ার সঠিকভাবে এটি করে।n
আমরা একটি বিজয়ী আছে। Http://meta.codegolf.stackexchange.com/a/1080/8766 এর কাছাকাছি স্কার্টের মতো হিসাবে আমি জাভা উত্তরটি /codegolf//a/26974/8766 হিসাবে গ্রহণ করি নি
factorial(Inf)
ফিরে আসে Inf
।
operator.mul