کد،کد و بازهم کد

این وبلاگ همش کده!

کد،کد و بازهم کد

این وبلاگ همش کده!

*هیچ*

طبقه بندی موضوعی

سوال پروجکت اویلر ۲۲ - امتیاز نام ها

سوال ۲۲ پروجکت اویلر را به همراه پاسخ٬الگوریتم و کد٬ در ادامه مطلب مشاهده کنید.(مخصوص ++C)

این سوال به درخواست آقای محمد غفاری‌فر نوشته شده است.


امتیاز نام ها (Names Scores)

پیش نیاز ها(آموزش در مورد هر کدام خواستید٬ به من بگویید تا بگذارم):

  • برای حل سوال به فایل names.txt نیاز دارید.ابتدا آن را دانلود کنید.(راست کلیک -> Save Link/Target as)
  • باید بلد باشید با فایل کار کنید.می‌توانید درخواست کنید تا یک آموزش وسیع در مورد فایل قرار بدم ولی در سطح عادی(البته نه برای این سوال) در آرشیو وبلاگم موجود است.
  • آشنایی با کتابخانه های vector ٬ algorithm و string.

صورت سوال:

فایل names.txt ٬‌فایلیست با حجم ۴۶KB که در آن بیش از ۵۰۰۰ نام وجود دارد.ابتدا کلمه ها را مانند دیکشنری (به ترتیب حروف الفبا) مرتب کنید.سپس برای هر کلمه سه کار زیر را انجام دهید:

  1. مجموع عدد انگلیسی هر حرف را بدست آورید.مثلا کلمه COLIN برابر است با : 57 = 14 + 9 + 12 + 15 + 3.
  2. مکان کلمه در آن مجموعه کلمات مرتب شده را بدست آورید. به طور مثال٬ کلمه COLIN ٬ ۹۳۸امین کلمه در میان آن کلمات است.
  3. این دو عددی را که به دست آورده اید با هم ضرب کنید: ۴۹۷۱۴ = ۵۳ × ۹۳۸

به این ترتیب٬امتیاز نام COLIN ٬ برابر است با ۴۹۷۱۴.

حال مجموع امتیازات همه نام ها به دست آورید.


پاسخ: 871198282


الگوریتم:

شروع

۱.فابل را باز کن.

۲.تا زمانی که در فایل کاراکتری وجود دارد٬یک کاراکتر به جلو برو :

۲-۱.کاراکتر را در cchar قرار بده.

۲-۲: اگر cchar جزو حروف انگلیسی است٬یک کاراکتر را به رشته cname اضافه کن.

۲-۲: در غیر این صورت٬ اگر cchar خالی نبود٬ رشته cname را به عنوان یک عضو ٬ به وکتور names اضافه کن.

۲-۳.به مرحله ۲ برو.

۳.فایل را ببند.

۴.مرتب کن.

۵.مقدار total را برابر با صفر قرار بده.

۶.برای n بار ( n تعداد عضو های وکتور names است.) مقدار total را =+ امتیاز هر نام کن.

۷.مقدار total را برگردان.


کد:http://paste.ubuntu.com/5884628

 

نظرات  (۰)

هیچ نظری هنوز ثبت نشده است
ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
شما میتوانید از این تگهای html استفاده کنید:
<b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">
تجدید کد امنیتی