من رفتم سربازی اگر محتوای منو دوست داشتید و بدردتون خورد از من حمایت مالی کنید

حل تمرین حلزون مختصاتی کوئرا با پایتون

حل تمرین حلزون مختصاتی کوئرا با پایتون
حل تمرین حلزون مختصاتی کوئرا با پایتون

حل تمرین حلزون مختصاتی کوئرا با پایتون

در این نوشته به روش حل یکی از سوالات برنامه نویسی وب‌سایت کوئرا می‌پردازیم.

 

حل تمرین حلزون مختصاتی کوئرا با پایتون

شکل زیر، یک حلزون مختصاتی را نشان می‌دهد. هر حلزون مختصاتی با اندازه‌ی n از شماره‌ی یک در مرکز مختصات شروع می‌شود و طبق تصویر زیر طی مسیر می‌کند.

توضیحات تمرین حلزون مختصاتی

می‌خواهیم برنامه‌ای بنویسید که عدد  را از کاربر دریافت کند و سپس مختصات آن نقطه را به کاربر تحویل دهد.

 

ورودی

در یک خط عدد n به شما داده می‌شود.

ورودی در تمرین حلزون مختصاتی

 

خروجی

در تنها خط خروجی مختصات را جدا شده با فاصله چاپ کنید.

 

مثال

ورودی نمونه 1

14

 

خروجی نمونه 1

4 -3

توضیح: شماره‌ی یک در مبدأ مختصات قرار می‌گیرد و شماره دو در نقطه‌ی (1,0) و شماره‌ی سه در نقطه‌ی (1,1) و به همین ترتیب پیش‌می‌رود تا درنهایت، نقطه‌ی 14 در (3-,4) قرار می‌گیرد.

 

کد پایتون سوال تمرین سوال حلزون مختصاتی

n = int(input()) 

counter = 1 

prior_pos = [] 

current_pos = [0, 0] 

if n == 1: 
    print(0, 0) 
else: 
    while counter < n: 
        if current_pos[0] > 0 and current_pos[1] < 0: 
            current_pos[1] = -current_pos[1] + 1 

        elif current_pos[0] > 0 and current_pos[1] > 0: 
            current_pos[0] = -current_pos[0] 

        elif current_pos[0] < 0 and current_pos[1] > 0: 
            current_pos[1] = -current_pos[1] 

        elif current_pos[0] < 0 and current_pos[1] < 0: 
            current_pos[0] = -current_pos[0] + 1 

        elif current_pos[0] == 0 and current_pos[1] == 0: 
            current_pos[0] = 1 
            current_pos[1] = 0 

        elif current_pos[0] == 1 and current_pos[1] == 0: 
            current_pos[0] = 1 

            current_pos[1] = 1 
        counter += 1 

print(current_pos[0], current_pos[1])

 

منبع سوال: کوئرا

اگر نیاز به حل تمرین‌های دیگری از کوئرا دارید در بخش نظرات همین نوشته برای ما بنویسید.

برای امتیاز به این نوشته کلیک کنید!
[کل: 0 میانگین: 0]