PDA

View Full Version : حرفه ای: ضرب دوعدد با استفاده از جمع در سی++



MohammadGh2011
جمعه 11 اسفند 1391, 00:21 صبح
سلام علیکم
یه سوال تقریبا حرفه ای:
چه طور میشه برنامه ای بنویسیم که دوتا عدد رو دریافت کنه و با استفاده از جمع اون دوعدد رو با هم ضرب کنه البته بدون استفاده از حلقه و با استفاده از دستورات شرطی IF یا Switch ؟

FastCode
جمعه 11 اسفند 1391, 00:35 صبح
تعداد شرط ها یک مقدار زیاد میشه(33) ولی فکر میکنم بشه با کمتر از ۱۰۰ خط نوشت.
چون سوالت به شکل تابلویی تمرین ه فقط بهت میگم که با توجه به بیت ها باید عدد رو با خودش جمع کنی و جمع ها رو با هم جمع کنی.اگر نفهمیدی بگو بیشتر توضیج بدم.
الان نزدیک یک deadline هستم.نمیتونم خیلی توضیح بدم.

int ResultParts[32];
ResultParts[0]=X;
ResultParts[1]=ResultParts[0]<<1;
........
ResultParts[32]=ResultParts[31]<<1;
Result = 0;
if(Y & 0x00000001) Result += ResultParts[0];
if(Y & 0x00000002) Result += ResultParts[1];
if(Y & 0x80000000) Result += ResultParts[31];

MohammadGh2011
جمعه 11 اسفند 1391, 10:15 صبح
تعداد شرط ها یک مقدار زیاد میشه(33) ولی فکر میکنم بشه با کمتر از ۱۰۰ خط نوشت.
چون سوالت به شکل تابلویی تمرین ه فقط بهت میگم که با توجه به بیت ها باید عدد رو با خودش جمع کنی و جمع ها رو با هم جمع کنی.اگر نفهمیدی بگو بیشتر توضیج بدم.
الان نزدیک یک deadline هستم.نمیتونم خیلی توضیح بدم.

int ResultParts[32];
ResultParts[0]=X;
ResultParts[1]=ResultParts[0]<<1;
........
ResultParts[32]=ResultParts[31]<<1;
Result = 0;
if(Y & 0x00000001) Result += ResultParts[0];
if(Y & 0x00000002) Result += ResultParts[1];
if(Y & 0x80000000) Result += ResultParts[31];

سلام علیکم
فکر نمیکنم دستوراتش خیلی زیاد باشه!!!!