سوال فناوری اطلاعات سال ۸۸ - نسخهی قابل چاپ |
سوال فناوری اطلاعات سال ۸۸ - sos006 - 01 آذر ۱۳۸۹ ۱۱:۵۸ ب.ظ
این تست لرشد IT-88 دولتی بوده.لطفا کمک کنید.سوال رو به این صورت مطرح میکنم که: یک لیست پیوندی یک طرفه حلقوی داریم با ۱۰۰۰ عنصر و با مقادیر داده ای ۱و۲و...و۱۰۰۰ که L اشاره گری است به ابتدای لیست.خروجی کد زیر چیست؟ الف )۱ ب)۳۲۷ ج)۹۷۷ د)۱۰۰۰ کد: Int s(List *L) |
RE: جواب این تست چرا میشه ۹۷۷؟ - grayman - 02 آذر ۱۳۸۹ ۰۳:۱۳ ق.ظ
سلام لطفا دقت کن تو طرح سوالت یه جا اشتباه نوشتی و کد درست اینه: کد: Int s(List *L) اولین بار که تابع روی کل لیست اجرا میشه، گره های زوج از لیست خارج میشن پس قطعا ۱۰۰۰ جواب سوال نیست: کد: ۱->3->5->7->9->11->13->->->->->995->997->999->1 کد: ۱->5->7->9->13->17->->->->989->993->997->1 کد: ۱->9->17->25->33->41->->->->->->977->985->993->1 |
جواب این تست چرا میشه ۹۷۷؟ - ف.ش - ۲۲ بهمن ۱۳۸۹ ۱۲:۱۳ ق.ظ
طبق راه حلی که دوستان اینجا مطرح کردن جواب این سوال میشه ۹۷۷ مهمان عزیز شما قادر به مشاهده پیوندهای انجمن مانشت نمیباشید. جهت مشاهده پیوندها ثبت نام کنید. چون عدد ۱۰۰۰ یعنی تعداد گرهها رو اگه به صورت دودویی بنویسیم میشه ۱۱۱۱۱۰۱۰۰۰ و اگه یه شیفت چرخشی به چپ بدیم میشه ۱۱۱۱۰۱۰۰۰۱ یعنی ۹۷۷ خداییش راهه جالبیه اگه نه آدم بیچاره میشد تا ۹۷۷ رو بدست بیاره. |
RE: جواب این تست چرا میشه ۹۷۷؟ - ف.ش - ۲۲ بهمن ۱۳۸۹ ۰۲:۱۱ ق.ظ
(۲۲ بهمن ۱۳۸۹ ۰۱:۴۴ ق.ظ)ali نوشته شده توسط: در این روش آیا فرقی میکنه که اشاره گر به اول لیست اشاره بکنه یا به آخر لیست.؟اگه منظورتون اینه که اگه به ۱۰۰۰ اشاره میکرد فرق میکرد یا نه به نظر من فرق میکرد اما به نظر من میشه یه جورایی تبدیل کرد چون اگه رو ۱ بود ۹۷۷ میموند حالا هم که روی ۱۰۰۰ هست حالا هم ۹۷۶امین نود بعد از ۱۰۰۰ میمونه یعنی ۹۷۶ و به همین ترتیب چون اعدادی که روی نودها نوشته که تاثیری روی حذف شدن و نشدنشون نداره اون اشاره گره که تغییر میکنه. البته این نظر منه! |