آرشیو سوالات از گذشته تا کنون

  • شروع کننده موضوع شروع کننده موضوع armita
  • تاریخ شروع تاریخ شروع
پاسخ : آرشیو سوالات از گذشته تا کنون



×حالا یک سوال دیگه مطرح میشه که ایا شما میتونی بدون دستور شرطی abs رو بنویسی ؟
 
پاسخ : آرشیو سوالات از گذشته تا کنون

این یک راه حل دیگه برای سوالی که در ابتدا مطرح شد:
http://paste.ubuntu.com/7907245/

شروع میکنیم از عدد ها یدونه یدونه کم می کنیم. اولین مقداری که صفر شد، مقدار اولیه اش رو که قبلا کپی گرفتیم چاپ می کنیم. یه آرایه به طول n میخونه و کوچکترینشو چاپ می کنی. فقط برای اعداد مثبت کار می کنه. منفی اش هم میشه نوشت ولی راه من کثیف کاری میشه.

کد:
//Bismillah
#include<iostream>
using namespace std;
bool check(int a[], int n)
{
     for (int i=0;i<n;i++)
         if (a[i]==0)
            return true;
     return false;
}    


int main()
{
    int n; //tedade adad ha
    cin>>n;
    int a[500],b[100];
    for (int i=0;i<n;i++)
    {
        cin>>a[i];
        b[i] = a[i];     
    }
    while (!check(a,n)) //while (check==false)
    {
          for (int i=0;i<n;i++)
              a[i]--;            
    }
    for (int i=0;i<n;i++)
        if (a[i]==0)
        {
                    cout<<b[i]<<endl;
                    system("pause");
                    return 0;
        }

}
 
پاسخ : آرشیو سوالات از گذشته تا کنون

به نقل از PaWkY :
Hala 1soale dige matrah mishe ke aia shoma mitooni bedone dastoore sharti abs ro benevisi ?
این راه هست. یک کم خلاقانه است! ولی ممکنه قبول نکنید ولی جواب میده!

کد:
int abs(int n) 
{
  return sqrt(n*n);
}
 
پاسخ : آرشیو سوالات از گذشته تا کنون

به نقل از PaWkY :
Hala 1soale dige matrah mishe ke aia shoma mitooni bedone dastoore sharti abs ro benevisi ?
کد:
( ( ( n mod n * ( n - 1 ) ) + n * ( n - 1 ) ) mod n * ( n - 1 ) ) mod n * ( n + 1 )
اگه جرئت دارید براش مثال نقض پیدا کنید
دهنم سرو** شد تا رابطه ش رو پیدا کردم :|

ویرایش: البته نمیدونم درسته یا نه...،
+ در حالت کلی، این رابطه کوتاه تر هست ولی چون اکثر کامپایلرهای Cpp توی عمل باقیمانده ی اعداد منفی اشتباه کار میکنند، یه قسمتی رو مجبور شدم اضافه کنم
+ خودم مثال نقض پیدا کردم: اعداد صحیح -2 تا +2
+ اولویت با عمل ضرب هست
 
پاسخ : آرشیو سوالات از گذشته تا کنون

به نقل از amoo.majid :
کد:
( ( ( n mod n * ( n - 1 ) ) + n * ( n - 1 ) ) mod n * ( n - 1 ) ) mod n * ( n + 1 )
اگه جرئت دارید براش مثال نقض پیدا کنید
دهنم سرو** شد تا رابطه ش رو پیدا کردم :|

ویرایش: البته نمیدونم درسته یا نه...،
+ در حالت کلی، این رابطه کوتاه تر هست ولی چون اکثر کامپایلرهای Cpp توی عمل باقیمانده ی اعداد منفی اشتباه کار میکنند، یه قسمتی رو مجبور شدم اضافه کنم
+ خودم مثال نقض پیدا کردم: اعداد صحیح -2 تا +2
+ اولویت با عمل ضرب هست

×اگه mod هم بدون دستور شرطی بنویسی من دیگه حرف ندارم ;;)
 
پاسخ : آرشیو سوالات از گذشته تا کنون

به نقل از PaWkY :
Age modam bedoone dastoore sharti benevisi man dige harfi nadaram ;;)
=))
کد:
a mod b = a - ( b * int( a / b ) )

ضرب و جمع و تقسیم رو هم بدون شرط بنویسم الآن؟ :))
اونا رو هم اگه بخواید با عملگرهای بیتی میشه بدون شرط نوشت :-"

×علی[میم]: فعلن قفل تا بعدش با یه تاپیکی ترکیب شه :دی
×amoo.majid: خب از خودت مایه بذار، چرا از طرف من حرف میزنی؟ :د
 
پاسخ : آرشیو سوالات از گذشته تا کنون

اینجوری مسابقه گذاشتن واسه فرومی مثه سمپادیا نمیشه. :)
باید الگوی مشاعره ای داشته باشه :-"

×علی : خب اینجام که دیگه نیاز نیس ، فلن قفل تا بعد ...
 
پاسخ : آرشیو سوالات از گذشته تا کنون

سلام.

سوال 121 SGU: این راهی که من میگم درسته؟ شروع کنیم از همه ی راس ها (جزیره ها) dfs بزنیم و به هر شهر که وارد شدیم، رنگ پل اش رو یک مقدار bool بدیم و هر سری اون bool رو 0 و 1 کنیم. یعنی b = !b کنیم برای راس بعدی (من تو کدم یه اینت گرفتم). بعد اتمام هر بار dfs، ببینیم تو شرط مسئله صدق می کنه یا نه. اگر پس از این که از همه ی راس ها dfs زده شد و جالت مسئله پیدا نشد، no solution چاپ کنیم.

این کدی هستش که تا الان تونستم بنویسم:
http://paste.ubuntu.com/8139530/


خروجی رو توی یه آرایه دو بعدی ذخیره می کنیم که مقدار خونه ی سطر i ام و ستون j ام اش، میشه رنگ بین جزیره i و j. کد تقریبا واضحه. یه تابع چک داره که بعد از هربار dfs صدا میزنیم آیا شرط مسئله پیدا شده یا نه.

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

میشه لطفا به این سوال پاسخ بدید؟
 
پاسخ : آرشیو سوالات از گذشته تا کنون

خواهش میکنم یکی جواب سوال بالاییو بده لطفاا
 
پاسخ : آرشیو سوالات از گذشته تا کنون

به نقل از demo :
در یک نشست بین المللی 1985 نفر شرکت کرده اند. در هر مجموعه ای از سه شرکت کننده حداقل دو نفر هستند که به یک زبان گفتگو می کنند. اگر هر نفر حداکثر به 5 زبان مسلط باشد. در این صورت ثابت کنید حداقل 200 نفر به یک زبان گفتگو می کنند.
اگه هر دو نفری رو بگیری حداقل یه زبون مشترک بلد باشن، یه نفر دلخواه در نظر بگیر، چون حداکثر ۵ تا زبون بلده پس طبق لانه کبوتری یکی از زبونا هستش که به اندازه ی سقف 1984/5 یعنی 397 نفر با اون زبون صوبت میکنن که خب این عدد از 200 بیشتره
وگرنه دو نفر هستن که هیچ زبون مشترکی ندارن. فرض کنید این دو نفر مجموعن k تا زبون بلدن. حالا اگه هر کدوم از ۱۹۸۳ نفر دیگه رو در نظر بگیری، واضحه که هر کدوم باید بلد باشن با حاقل یکی از این k زبون صوبت کنن. پس یکی از این k زبون هستش که سقف ۱۹۸۳ تقسیم بر k نفر با اون زبون حرف میزنن. با توجه به این که ماکزیمم مقدار k برابر ۱۰ هستش، سقف ۱۹۸۳ تقسیم بر k حداقل برابر ۱۹۹ هست. این ۱۹۹ نفر و یکی از اون دو نفر که اون اول در نظر گرفتیم و هیچ زبون مشترکی نداشتن، حداقل ۲۰۰ نفر رو تشکیل میدن :-"
به نقل از demo :
خواهش میکنم یکی جواب سوال بالاییو بده لطفاا
آرومتر ;;)
 
Back
بالا