این کد که مشکل داره. cout<c=a/10
چیه؟
به طور کلی برای معکوس کردن یک عدد صحیح یک روش معمول وجود داره.
مثلاً فرض کنید عدد a=123
رو میخوایم معکوس کنیم (y=321
).
۰) ابتدا عدد معکوس رو ۰ در نظر میگیریم.
۱) یکان رو از a
برمیداریم (b=3
)
۲) یکان رو با ده برابر y
جمع میکنیم. (10*y+3 = 3
)
۳) a
رو تقسیم بر ۱۰ میکنیم. (a = 12
)
دوباره
۱) یکان رو از a
برمیداریم (b=2
)
۲) یکان رو با ده برابر y
جمع میکنیم. (10*y+2 = 10*3+2 = 32
)
۳) a
رو تقسیم بر ۱۰ میکنیم. (a=1
)
دوباره
۱) یکان رو از a
برمیداریم (b=1
)
۲) یکان رو با ده برابر y
جمع میکنیم. (10*32+1 = 321
)
۳) a
رو تقسیم بر ۱۰ میکنیم. (a=0
)
چون a
صفر شده پس y
الان معکوس a
هست. که درسته یعنی ۳۲۱
توی کدی که نوشتین while(a!=0)
برای بررسی همین صفر شدن a
هست. b
یکانی هست که هر دفعه از a
برمیداریم. c
هم عدد معکوس هست.