اولین باره که به کاهو میای؟ راهنمای سایت رو حتما بخون!
آزمون اول سایت Codeshark (آزمون آزمایشی-تمرینی مرحله ۳)
آزمون دوم سایت Codeshark - سوال ۲ قسمت ج
آزمون سوم سایت Codeshark (آزمون آزمایشی-تمرینی مرحله ۳)
پرسش یک آزمون سوم کدشارک - جایگشتها حیف شدند!
در این قسمت میتونی به یک پرسش پاسخ بدی. اگه میخوای در مورد پرسش بحث و اظهار نظر کنی از قسمت «ثبت نظر» استفاده کن.
پاسخت رو دقیق و کامل بنویس، از عکس استفاده کن و اگه لازمه به منابع (کتاب یا سایت) ارجاع بده.
اگه پرسش یا پاسخها مفید هستند حتما بهشون رای بده تا پرسشها و پاسخهای خوب مشخص بشن.
توی قسمت پیشنمایش میتونی ببینی متنی که نوشتی چجوری روی سایت دیده میشه.
خیلی مهم: برای اینکه به خط بعد بری باید دوتا Enter بزنی.
میتونی از تگهای معمولی و سادهی html هم استفاده کنی.
با دکمههایی که بالای ویرایشگر قرار دارند کلی کار میشه کرد. از عکسگذاشتن بگیر تا لیست شمارهدار. حتما امتحانشون کن.
برای نوشتن علائم ریاضی میتونی از Mathjax استفاده کنی.
راهنمای Mathjax رو از سایت
math.stackexchange
بخون.
برای نوشتن عبارت ریاضی وسط جمله، اون عبارت رو بین دوتا $ قرار بده.
برای نوشتن عبارت ریاضی تو یه خط جدید اون رو بین دوتا $$ قرار بده.
یک زوج مرتب $(p,q) $ از اعداد صحیح نامنفی یک زوج رستاپسند گفته میشود اگر و تنها اگر $1 \le p,q < n$ و عدد طبیعی مانند $x$ وجود داشته باشد که
$p^x\equiv q\pmod n$
شما باید باقیمانده ی تقسیم تعداد زوج های رستاپسند بر دلتا را محاسبه کنید.
باقیمانده ی جواب بر دلتا به ازای $n=1111151$ محاسبه کنید.
دلتا: $11987$
توضیح الگوریتم:
امتیاز-n یک عدد را تعداد باقی مانده های متفاوت توان های آن عدد در تقسیم بر $n$ مینامیم. برای مثال امتیاز-5 عدد $3$ برابر $4$ است زیرا:
$3^1\equiv 3\pmod 5$ $,$ $3^2\equiv 4\pmod 5$ $,$ $3^3\equiv 2\pmod 5$ $,$ $3^4\equiv 1\pmod 5$
و از توان چهار به بعد همین الگو ادامه میابد. پس در واقع هدف ما در این سوال پیدا کردن مجموع امتیاز-1111151 تمام اعداد 1 تا 1111150 است.
حال برای پیدا کردن پاسخ امتیاز-1111151 های همه ی اعداد طبیعی کوچکتر از $1111151$ را بدست می آوریم.
از آنجا که عدد $1111151$ یک عدد اول است با توجه به قضیه ی کوچک فرما به ازای هر عدد $i$ که $(1 \le i <1111151)$ داریم:
$i^{1111150}\equiv 1\pmod {1111151}$
پس درواقع امتیاز-1111151 تمام اعداد طبیعی کوچکتر از $1111151$ باید مقسوم علیه عدد $1111150$ باشد.(زیرا بعد از باقیمانده ی $1$ باقیمانده دوباره به عدد $i$ میرسد و دوره ی گردش دوباره تکرار میشود تا به عدد $1111151$ برسد.)در نتیجه به ازای هر $i$ که $(1 \le i <1111151)$ قطعا عددی مانند $x$ پیدا میشود که کمترین مقدار ممکن باشد و :
$1111150 \equiv 0\pmod {x}$ $,$ $i^{x}\equiv 1\pmod {1111151}$
پس در واقع عدد $x$ همان امتیاز-1111151 عدد $i$ است.
از آنجا که عدد $1111150$ تنها $24$ مقسوم علیه دارد میتوانیم به ازای تمام اعداد طبیعی کوچکتر از $1111151$ امتیاز-1111151 آنها را پیدا کنیم و زمان زیادی هم طول نکشد. مجموع این امتیاز-1111151 ها جواب مسئله است.
توضیح کد:
در کد نوشته شده تابع modi
برای گرفتن باقیمانده است. وکتور v
مقسوم علیه های عدد 1111150 را در خود ذخیره می کند و تابع PowerUnderN
نیز دو عدد $q$ و $w$ را به عنوان ورودی می گیرد و عدد $n$ $mod$ $q^w$ را به عنوان خروجی میدهد.
حدود زمان اجرای کد: 7800 ms
حدود مموری کد: 4 KB
جواب آخر: 821