دوست عزیز، به سایت علمی نخبگان جوان خوش آمدید

مشاهده این پیام به این معنی است که شما در سایت عضو نیستید، لطفا در صورت تمایل جهت عضویت در سایت علمی نخبگان جوان اینجا کلیک کنید.

توجه داشته باشید، در صورتی که عضو سایت نباشید نمی توانید از تمامی امکانات و خدمات سایت استفاده کنید.
نمایش نتایج: از شماره 1 تا 2 , از مجموع 2

موضوع: تفاوت long long با long

  1. #1
    کاربر جدید
    رشته تحصیلی
    علوم کامپیوتر
    نوشته ها
    7
    ارسال تشکر
    0
    دریافت تشکر: 8
    قدرت امتیاز دهی
    0
    Array
    naserbaghei's: خوشحال2

    پیش فرض تفاوت long long با long

    من امروز سوال projecteuler #10 رو حل می‌کردم
    برای برنامه اولم نوع متغیر رو long گرفتم
    کد:
    //************************
    // Bagheri. Naser
    //ProjectEuler Problem #10
    //************************
     #include <iostream>
    #include <cmath>
    using namespace std;
    
    
    bool check(long  n) 
    {
              if(n == 2)
                return true;
            else if(n == 1)
                return false;
            if(n % 2 == 0)
                return false;
    
        for(int i = 3; i <=sqrt(n); i += 2)
        {
            if(n % i == 0)
            return false;
        }  
      return true;  
     }
    
    int main()
    {
        long  sum =0;
        for(long  i = 2; i<2000000; i++)
        {
            if(check(i)==true)
            {sum += i;}
        }
           cout<<sum;
        return 0;}


    جواب میشه :1179908154 که submit نمیشه؟

    اما برنامه دوم که از نوع متغیر long long استفاده کردم

    کد:
    //************************
    // Bagheri. Naser
    //ProjectEuler Problem #10
    //************************
     #include <iostream>
    #include <cmath>
    using namespace std;
    
    
    bool check(long long n) 
    {
              if(n == 2)
                return true;
            else if(n == 1)
                return false;
            if(n % 2 == 0)
                return false;
    
        for(int i = 3; i <=sqrt(n); i += 2)
        {
            if(n % i == 0)
            return false;
        }  
      return true;  
     }
    
    int main()
    {
        long long sum =0;
        for(long long i = 2; i<2000000; i++)
        {
            if(check(i)==true)
            {sum += i;}
        }
           cout<<sum;
        return 0;}

    که جواب میشه 142913828922 که submit میشه!

    کد ها شبیه هم هستند اما فقط یه long فرق داره
    کامپایلر g++
    حالا علت چیست؟
    اگه کسی میدونه توضیح بده؟

  2. 2 کاربر از پست مفید naserbaghei سپاس کرده اند .


  3. #2
    کاربر جدید
    نوشته ها
    1
    ارسال تشکر
    0
    دریافت تشکر: 0
    قدرت امتیاز دهی
    0
    Array

    پیش فرض پاسخ : تفاوت long long با long

    چون long اندازه اش 32 بیتی هست ولی lاون یکی 64 بعضی از داده ها به خاطر فضا زیادی که اشغال میکنن نمیشه تو long ذخیره کرد(i

اطلاعات موضوع

کاربرانی که در حال مشاهده این موضوع هستند

در حال حاضر 1 کاربر در حال مشاهده این موضوع است. (0 کاربران و 1 مهمان ها)

موضوعات مشابه

  1. پاسخ ها: 0
    آخرين نوشته: 13th December 2012, 12:50 AM
  2. پاسخ ها: 9
    آخرين نوشته: 6th December 2011, 07:14 PM
  3. It's long but very informative
    توسط silent در انجمن سلامت و بهداشت
    پاسخ ها: 0
    آخرين نوشته: 17th April 2011, 12:20 PM
  4. پاسخ ها: 0
    آخرين نوشته: 15th July 2010, 12:40 AM
  5. مقاله: برنامه ‌پنجم، تولید‌ ثروت ‌برای ‌توزیع ‌ثروت
    توسط *مینا* در انجمن مجموعه مدیریت اجرایی
    پاسخ ها: 0
    آخرين نوشته: 13th January 2010, 07:48 PM

کلمات کلیدی این موضوع

مجوز های ارسال و ویرایش

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