نمایش نتایج 1 تا 4 از 4

نام تاپیک: بدست آوردن مضارب یک عدد خاص در یک بازه

  1. #1

    بدست آوردن مضارب یک عدد خاص در یک بازه

    سلام و درود
    همونطور که گفتم در تاپیک های قبلی من تازه C#‎ رو شروع کردم و خیلی تو حل مسائل مشکل دارم !
    این مسئله رو به 10 روش دارم تست میکنم نمیشه !
    برنامه ای بنویسید که a و b را بخواند ، سپس بررسی کند چند عدد از a تا b بر 6 بخش پذیر است ؟ ( مثلا 3 تا ، 4 تا )

    من با این استدلال پیش رفتم که اگر باقی مانده تفریق دو عدد 0 و 1 باشه کلا عددی بینشون نیست . ولی حالا نمیدونم اگر بیشتر از1 باشه قضیه به چه صورت خواهد بود .چجوری میتونم اعداد بین دو عدد رو بگیرم
    سورس تا جایی که من پیش رفتم :

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;


    namespace a6
    {
    class Program
    {
    static void Main(string[] args)
    {
    int a, b, c, d;
    Console.Write("Do adad vared namaieed : ");
    a = int.Parse(Console.ReadLine());
    b = int.Parse(Console.ReadLine());
    if (a > b)
    {
    c = a;
    d = b;
    }
    else
    {
    c = b;
    d = a;
    }
    if (c - d == c)
    Console.Write("Sefr");
    if (c - d == 1)
    Console.Write("Sefr");
    if (c - d == 2)
    // inja ro moondam !
    Console.ReadLine();
    }
    }
    }



    خیلی ممنون

  2. #2
    کاربر دائمی آواتار ahmadreza.s
    تاریخ عضویت
    بهمن 1393
    محل زندگی
    Visual Studio
    پست
    175

    نقل قول: درخواست حل مسئله

    سلام

    آفرین ، منم تازگیا شروع کردم به برنامه نویسی دات نت ! و واقعن دارم ازش لذت میبرم

    ببین میتونی استدلالت رو اینجوری کنی که : اگه a از b بزرگتر باشه ؛ یه حلقه از عدد b به عدد a برسه و یه شرط بزاری که اگه عدد بر 6 بخش پذیر باشه یکی به متغیرمون کنه !

    کد رو ببین متوجه میشی :

    using System;


    namespace ConsoleApplication1
    {
    class Program
    {
    static void Main(string[] args)
    {
    int a, b, count = 0;
    Console.WriteLine("Enter 2 Number s : ");
    a = int.Parse(Console.ReadLine());
    b = int.Parse(Console.ReadLine());
    if (a > b)
    {
    for (int i = b; i <= a; i++)
    if (i % 6 == 0)
    count++;
    }
    else if (a < b)
    {
    for (int i = a; i <= b; i++)
    if (i % 6 == 0)
    count++;
    }


    Console.WriteLine(count + "");
    Console.Read();


    }
    }
    }



  3. #3

    نقل قول: درخواست حل مسئله

    سلام
    همیشه حلقه راه حل مناسب نیست. مخصوصا مثلا وقتی بخواهیم تعداد حالتهای یک چیز را به دست بیاریم
    مثلا اگه اعداد a و b صحیح باشند جواب میشه عبارت زیر
    b / 6 - (a - 1) / 6

  4. #4
    کاربر دائمی
    تاریخ عضویت
    تیر 1389
    محل زندگی
    0x111530EF - 0x11657DA
    پست
    873

    نقل قول: درخواست حل مسئله

    همونطور که اشاره کردند فرمول های ریاضی تو این مورد کارامد تر از حلقه هستند :

    double a =6, b=29.6;
    int dividable_count = (int)(Math.Floor(Math.Max(a, b) / 6) - Math.Ceiling(Math.Min(a, b) / 6)) + 1;


    Console.WriteLine(dividable_count);

تاپیک های مشابه

  1. بدست آوردن مقلوب یک عدد با تابع بازگشتی
    نوشته شده توسط BOB در بخش الگوریتم، کامپایلر، هوش مصنوعی و ساختمان داده ها
    پاسخ: 15
    آخرین پست: دوشنبه 21 بهمن 1392, 12:16 عصر
  2. بدست آوردن داده یک ستون خاص و سطر جاری از datagrid
    نوشته شده توسط ILYA در بخش C#‎‎
    پاسخ: 10
    آخرین پست: چهارشنبه 30 شهریور 1390, 23:09 عصر
  3. سوال: بدست آوردن توان از روش خاص
    نوشته شده توسط skh1300 در بخش الگوریتم، کامپایلر، هوش مصنوعی و ساختمان داده ها
    پاسخ: 2
    آخرین پست: یک شنبه 05 اردیبهشت 1389, 10:43 صبح
  4. بدست آوردن بين دو تاريخ خاص
    نوشته شده توسط sarbazi در بخش C#‎‎
    پاسخ: 6
    آخرین پست: سه شنبه 29 دی 1388, 14:02 عصر
  5. برنامه بدست آوردن فاکتوریل یک عدد بزرگ
    نوشته شده توسط سحر در بخش برنامه نویسی با زبان C و ++C
    پاسخ: 8
    آخرین پست: سه شنبه 09 بهمن 1386, 23:23 عصر

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •