سوالات چالشی هفته سوم لیگ مایکد به همراه پاسخهای مورد انتظار تست کیسها جهت آشنایی بیشتر شرکتکنندگان در لیگ منتشر میگردد.
دریافت
عنوان: ماشین زمان
حجم: 206 کیلوبایت
توضیحات: سوال چالشی ماشین زمان با استفاده از اعداد چرخشی
پاسخ تیم برنده
دریافت
عنوان: جوراب جادویی
حجم: 231 کیلوبایت
توضیحات: سوال چالشی جوراب جادویی جادوگر مبتنی بر جستجو
پاسخ تیم برنده
دریافت
عنوان: ساندویچ فروشی اسرار آمیز
حجم: 239 کیلوبایت
توضیحات: سوال چالشی مواد اولیه ساندویچ مبتنی بر عوامل اول
ll findDay(const string& s) { string n1, m1; bool isb = false; // جدا کردن دو عدد از رشته ورودی که با کاما جدا شدهاند for (int i = 0; i < s.size(); ++i) { if (s[i] == ',') { isb = true; continue; } if (!isb) n1 += s[i]; // بخش اول (n) else m1 += s[i]; // بخش دوم (m) } ll n = stoll(n1), m = stoll(m1); // انجام محاسبات بر اساس مقدار m if (m >= 0) { return (n + (abs(m) % 7)) % 7; } else { return (n - (abs(m) % 7) + 7) % 7; } }
// تابع برای پردازش هر خط ورودی و انجام محاسبات ll countSteps(const string& s) { ll sum = 0; // شمارش کاراکترهای معتبر (غیر از '[', ']' و ',') for (int i = 0; i < s.size(); ++i) { if (s[i] == ',' || s[i] == '[' || s[i] == ']') continue; sum++; } ll ans = 0; // محاسبه تعداد مراحل کاهش sum تا رسیدن به 1 while (sum != 1) { sum /= 2; // نصف کردن آرایه ans++; } return ans; }
string countIngredients(ll n) { ll pr[10] = {2, 3, 5, 7, 11, 13, 17, 19, 23, 29}; // لیست اعداد اول str st = "NSMCVPOTFL"; // کاراکترهای متناظر با هر عدد اول ll count[10] = {0}; // آرایه برای ذخیره تعداد هر عامل اول ll in = 0; // تجزیه عدد n به عوامل اولیه while (n > 1) { ll cnt = 0; while (n % pr[in] == 0) { cnt++; n /= pr[in]; } count[in] = cnt; // ذخیره تعداد عامل اول in++; } // ساخت رشته خروجی بر اساس عوامل اولیه string result; loop(i, 0, 10) { if (count[i]) { result += to_string(count[i]) + st[i]; } } return result; }
دیدگاهها
هیچ نظری هنوز ثبت نشده است.