“ضد مقسومها” اعدادی هستند که با بیشترین اختلاف ممکن، مقسوم عدد داده شده نیستند. برای یافتن ضد مقسومها، قوانین زیر دنبال میشود:
- هر عدد بزرگتر از 1 و کمتر از 
nبررسی میشود. - عدد بررسی شده نباید مقسوم عدد 
nباشد. - اگر عدد بررسی شده فرد باشد و مقسوم یکی از 
n * 2 - 1یاn * 2 + 1باشد، آن عدد ضد مقسوم است. - اگر عدد بررسی شده زوج باشد و مقسوم عدد 
n * 2باشد، آن عدد ضد مقسوم است. 
یک تابع پیادهسازی کنید که عدد صحیح n را گرفته و لیستی از ضد مقسومهای آن را به ترتیب صعودی برگرداند.
مثال
anti_divisors(10) ➞ [3, 4, 7]
# 3 مقسوم 21 است (10 * 2 + 1)
# 4 مقسوم 20 است (10 * 2)
# 7 مقسوم 21 است
anti_divisors(12) ➞ [5, 8]
# 5 مقسوم 25 است (12 * 2 + 1)
# 8 مقسوم 24 است (12 * 2)
    نمونه ورودی و خروجی
anti_divisors(10) ➞ [3, 4, 7]
anti_divisors(12) ➞ [5, 8]
anti_divisors(20) ➞ [3, 8, 13]
    نکات
- عدد داده شده 
nمیتواند مثبت، منفی یا صفر باشد. - ضد مقسومها باید به ترتیب صعودی مرتب شوند.
 
self.assertEqual(anti_divisors(10), [3, 4, 7]) self.assertEqual(anti_divisors(12), [5, 8]) self.assertEqual(anti_divisors(20), [3, 8, 13]) self.assertEqual(anti_divisors(1), []) self.assertEqual(anti_divisors(31), [2, 3, 7, 9, 21]) self.assertEqual(anti_divisors(55), [2, 3, 10, 22, 37]) self.assertEqual(anti_divisors(105), [2, 6, 10, 11, 14, 19, 30, 42, 70])
پاسخ های کاربران به این تمرین
برای مشاهده پاسخ باید ابتدا وارد شده و قفل پاسخ را باز کنید
برای مشاهده پاسخ باید ابتدا وارد شده و قفل پاسخ را باز کنید
برای مشاهده پاسخ باید ابتدا وارد شده و قفل پاسخ را باز کنید
                                            
نظرات