پاسخ به: به دانش بود نیک فرجام تو ... به مینو دهد چرخ آرام تو | |||
---|---|---|---|
نویسنده: یا لثارات الحسن سهشنبه، ۱۰ آذر ۱۳۹۴ (۱۸:۴۱) | |||
نقل قول MahSa نوشته:دوتا سوال برنامه نويسيه 😕😑 1- برنامه ای بنویسید که تعدادی عدد صحیح و مثبت که تعداد آنها در آغاز داده شده است را از ورودی خوانده و برای هر عدد, اولین عدد اول بزرگتر از آنرا محاسبه و چاپ نماید. 2- برنامه ای بنویسید که متناوبا چهار عدد صحیح و مثبت را از ورودی بخواند و بزرگترین مقسوم علیه مشترک بین چهار عدد را یافته و همراه با آنها در یک سطر با توضیحات مناسب چاپ کند. (برای نوشتن این برنامه تابعی جهت محاسبه بزرگترین مقسوم علیه مشترک بنویسید و با احضارهای مکرر تابع محاسبه بزرگترین مقسوم علیه مشترک در برنامه اصلی خود, بزرگترین مقسوم علیه مشترک چهار عدد را محاسبه نمایید.) من می تونم به زبون PHP مثل آب خوردن بنویسم. البته اساس PHP بر C و C++ هست ولی خب توابعش رو احتمالا باید جایگزین کنی. بذار الان اولی رو می نویسم ببین می تونی تبدیلش کنی. گرچه اینا که خیلی ساده ن، درستون رو بخونید خب.
function my_prime_checker ($number) {
توضیح: تابع my_prime_checker عدد رو می گیره و چک می کنه که آیا عدد اول هست یا نه. اگر باشه مقدار true و اگر نباشه مقدار false رو بر می گردونه. نحوه کارش اینطوریه که شروع می کنه از عدد 2 تا مجذور عدد ورودی رو در نظر می گیره، نگاه می کنه آیا عدد ورودی به این عددا بخش پذیره یا نه (به این شکل که آیا باقیمانده تقسیمش بر این عددا صفر میشه، اون تیکه: number % $i == 0) به محض اینکه اولین عددی رو پیدا کرد که بخش پذیر بود، مقدار false رو می فرسته یعنی ورودی عدد اول نیست و تابع بسته میشه. اگر تا آخر بره و به هیچ مقداری بخش پذیر نباشه، تابع مقدار true رو بر می گردونه یعنی عدد ورودی عدد اوله. تابع my_first_next_prime_detector عدد ورودی رو می گیره و اولین عدد اولی که بزرگتر از اونه رو محاسبه می کنه. به این شکل که اول خود عدد رو به تابع محاسبه اول بودن می فرسته، و مادامی که جواب تابع false باشه، یعنی عدد اول نیست، عدد ورودی رو یکی یکی اضافه می کنه. جایی که به عدد اول رسید، دیگه اضافه نمی کنه و اون عدد رو به عنوان خروجی بر می گردونه که میشه اولین عدد اولی که بزرگتر از عدد ورودیه. حالا اگر فرض کنیم اعداد ورودی تو یه آرایه به نام input_numbers داده شدن و ما یه آرایه خروجی میدیم به نام output_prime_numbers، خیلی راحت کافیه از اولین عدد آرایه ورودی (کد 0) تا آخرینش (کد یکی کمتر از تعداد اعداد درون آرایه ورودی) بدیم به تابع محاسبه عدد اول و ببینیم چی بر می گردونه و تو آرایه خروجیمون ذخیره ش کنیم. در نهایت به این شکل در میاد که عدد k ام که در آرایه input_numbers به ما داده شده، معادلش عدد k ام در آرایه output_prime_numbers اولین عدد اولیه که بزرگتر یا مساوی اون عدده. البته این باید به زبون C کمی ویرایش بشه. مثلا متغیرها تو PHP با $ شروع میشن و من یادم نیست تو خود C با چی شروع می شدن. یا مثلا اگر اشتباه نکنم برای خوندن و نوشتن باید از توابع cin و cout استفاده بشه که من دقیق کاربردش یادم نیست. اما الگوریتم یکسانه و مهمترین کار نوشتن این دو تا تابعه و تبدیلش به C منطقا نباید کار سختی باشه. الان گیج شدی؟ |
تالار گفتمان
آخرین عناوین
آخرین ارسالها
قوانین و مقررات
عاشقان آبی و اناری
مباحث آزاد
لیگ فانتزی
مسابقات سایت
آبی و اناری
گردانندگان سایت
حمایت مالی از سایت
تاریخچه باشگاه
افتخارات باشگاه
زندگینامه بازیکنان
مربیان باشگاه
اسطورههای باشگاه
مقالات سایت
پیوستن به جمع نویسندگان آبی و اناری
مقالات اختصاصی
مقالات آماری تحلیلی
مقالات آنالیز فنی
گالری عکس
پیوستن به جمع همکاران گالری
عکسهای قهرمانی
عکسهای بازیهای بارسا
عکسهای بازیکنان
عکسهای فصل 2016/17
نقشه سایت
سوال یا ابهام خود را مطرح نمایید!
راهنمای عضویت در سایت
مشکل در ورود به سایت
سوالات متداول