شیفت اعداد

سوال

برنامه ای بنویسید که ابتدا یک عدد صحیح و مثبت مانند n را از ورودی خوانده و سپس یک عدد صحیح (مثبت یا منفی) دیگر مانندm را نیز از ورودی خوانده و سپس اگر m عددی مثبت بودn را به صورت چرخشی معادل با m رقم به سمت راست شیفت دهد و در غیر این صورت (منفی بودن عدد m)، عدد مورد نظر را m رقم به سمت چپ شیفت داده و در خروجی چاپ کند. لطفا برای درک بهتر صورت سوال، با دقت به نمونه مثال های داده شده در ادامه سوال توجه فرمایید.

توجه

در ضمن تعریف شیفت راست به صورت بسیار ساده به این شکل است که اگر یک عدد مانند ۱۴۲۵ را معادل یک رقم به سمت راست شیفت دهیم به این معنی است که رقم یکان عدد حذف شده و تمامی ارقام به غیر از یکان به اندازه یک واحد به سمت راست منتقل (شیفت) می شوند و سپس به جای بزرگترین رقم در این مثال (هزارگان یا همان رقم ۱) رقم ۰ قرار می گیرد. بنابراین با شیفت دادن عدد ۱۴۲۵ به اندازه یک واحد به سمت راست، عدد ۰۱۴۲ بدست می آید. حال منظور از شیفت چرخشی این است که رقم یکان عدد در این مثال خاص به جای رقم ۱ قرار گرفته و بقیه ارقام همانند مثال قبل به جای رقم سمت راست خود قرار می گیرند، به عبارتی با انجام دادن عمل شیفت چرخشی روی عدد ۱۴۲۵ به سمت راست به اندازه یک واحد، عدد مورد نظر به ۵۱۴۲ تبدیل می شود.

ورودی

ورودی شامل دو خط است که در خط اول عدد صحیح و مثبت n و در خط دوم عدد صحیح m به عنوان ورودی داده می شوند.

خروجی

خروجی برنامه‌ی شما باید شامل یک خط باشد که معادل شیف داده شده ی عدد nnn خواهد بود.

مثال

در اینجا چند نمونه برای درک بهتر صورت سوال و قالب ورودی و خروجی تست‌ها داده شده است.

ورودی نمونه ۱

Copy

خروجی نمونه ۱

Copy

ورودی نمونه ۲

Copy

خروجی نمونه ۲

Copy

ورودی نمونه ۳

Copy

خروجی نمونه ۳

Copy

ورودی نمونه ۴

Copy

خروجی نمونه ۴

Copy

ورودی نمونه ۵

Copy

خروجی نمونه ۵

Copy

ورودی نمونه ۶

Copy

خروجی نمونه ۶

در حال بررسی 0
app 4 ماه 4 پاسخ ها 152 دیده شده 0

پاسخ ها ( ۴ )

  1. سلام

    من با استفاده از کتابخانه <string.h>

    و با توابع ()erase و ()replace

    برنامه‌ای که فرمودید رو نوشتم:

     

  2. سلام

     

ارسال یک پاسخ