مسیرها
/
Vim script
Vim script
/
تمرین‌ها
/
بزرگ‌ترین حاصل‌ضرب دنباله
بزرگ‌ترین حاصل‌ضرب دنباله

بزرگ‌ترین حاصل‌ضرب دنباله

آسان

مقدمه

شما برای یک سازمان دولتی کار می‌کنید که مجموعه‌ای از سیگنال‌های ارتباطی رمزنگاری‌شده را از یک گروه سارق بانک رهگیری کرده است. این سیگنال‌ها دنباله‌ای طولانی از رقم‌ها را در خود دارند. تیم شما باید با استفاده از تکنیک‌های مختلف پردازش سیگنال دیجیتال، این سیگنال‌ها را تحلیل کند و الگوهایی را شناسایی کند که ممکن است نشان‌دهنده‌ی برنامه‌ریزی یک سرقت باشند.

دستورالعمل‌ها

وظیفه‌ی شما این است که در دنباله‌ی طولانی ارقام سیگنال رمزنگاری‌شده به دنبال الگوها بگردید.

تکنیکی که قرار است اینجا از آن استفاده کنید، «بزرگ‌ترین حاصل‌ضرب سری» نامیده می‌شود.

بیایید ابتدا چند اصطلاح را تعریف کنیم.

  • ورودی: دنباله‌ی ارقامی که باید آن را تحلیل کنید
  • سری: دنباله‌ای از ارقام مجاور (ارقامی که کنار هم قرار دارند) که درون ورودی قرار می‌گیرد
  • طول: تعداد ارقامی که هر سری دارد
  • حاصل‌ضرب: آنچه هنگام ضرب‌کردن اعداد در هم به دست می‌آید

بیایید یک مثال را با ورودی "63915" بررسی کنیم.

  • برای تشکیل یک سری، ارقام مجاور را در ورودی اصلی بردارید.
  • اگر با طول 3 کار می‌کنید، سه سری ممکن وجود خواهد داشت:
    • "639"
    • "391"
    • "915"
  • سپس باید حاصل‌ضرب هر سری را محاسبه کنیم:
    • حاصل‌ضرب سری "639" برابر با ۱۶۲ است (6 × 3 × 9 = 162)
    • حاصل‌ضرب سری "391" برابر با ۲۷ است (3 × 9 × 1 = 27)
    • حاصل‌ضرب سری "915" برابر با ۴۵ است (9 × 1 × 5 = 45)
  • ۱۶۲ از هر دو ۲۷ و ۴۵ بزرگ‌تر است، پس بزرگ‌ترین حاصل‌ضرب سری برای "63915" از سری "639" می‌آید. بنابراین پاسخ ۱۶۲ است.
ویرایش از طریق GitHub این لینک در پنجره یا زبانه‌ی جدیدی باز می‌شود
Vim script Exercism

آماده‌اید بزرگ‌ترین حاصل‌ضرب دنباله را شروع کنید؟

در Exercism ثبت‌نام کنید تا Vim script را همراه با 89 تمرین و مربی‌گری انسانی واقعی یاد بگیرید و در آن استاد شوید، همه‌ی این‌ها رایگان.