۰
subtitle
ارسال: #۱
تست سال ۸۶
خسته نباشید
لطف کنید و این سوال و کلا سوالهای این سبکی رو بفرمایید چطوری حل می شوند.
سپاس
لطف کنید و این سوال و کلا سوالهای این سبکی رو بفرمایید چطوری حل می شوند.
سپاس
(۰۴ تیر ۱۳۹۰ ۱۲:۰۶ ق.ظ)mfXpert نوشته شده توسط: راه اصولیش اینه که اول کدهای سه آدرسه این دستورات رو بنویسید و بعد بااستفاده از اصول بهینه سازی تعداد متغیرهای موقت رو به حداقل برسونید.اما مشکل این روش اینه که خیلی وقت گیره.به نظرتون با دو تا متغیر کمکی نمیشه حلش کرد اگه نمیشه چرا سه تا می خواد؟
راه ساده و کنکوریش اینه که اولویت عملگرها رو در نظر بگیرید و حداقل تعداد متغیرها رو حساب کنید.یه مثال ساده می زنم:
فرض کنید قصد داریم حداقل تعداد متغیرهای موقت در محاسبه عبارت a−b∗(cd)
رو حساب کنیم.اول باید حاصل عبارت داخل پرانتز رو به دست بیاریم و در متغیر فرضا t1 قرار بدیم. بعد حاصل ضرب b در حاصل پرانتز یا همون t1 رو به دست بیاریم و در t1 قرار می دیم و در نهایت t1 رو از a کم می کنیم و نتیجه رو در متغیر t1 قرار می دیم.کدش به صورت زیر هستش:
t1=c+dt1=b*t1t1=a-t1پس برای محاسبه عبارت a−b∗(cd) به تنها یک متغیر کمکی احتیاج داریم
دیگه بهتر از این نمیتونم توضیح بدم
در ضمن جواب تست هم ۳ هست یعنی حداقل۳ تا متغیر کمکی نیاز داریم