**تحديات بايثون** 10

تحدي "العدد الغامض " (Mysterious Number)

العدد الغامض هو عدد صحيح إذا قمت بتربيعه، ثم عكست ترتيب أرقامه، فستحصل على عدد آخر قابل للقسمة على العدد الأصلي.!

المطلوب
اكتب دالة ترد لي جميع الاعداد الغامضة في نطاق 1 – 100.

إعجاب واحد (1)

دا حل بالتفصيل انت حرفيا ممكن تعملها ف بتاع 4 سطور

the_list = [i for i in range(1,101)]
the_numbers = []
def num_gero(number):
    """الداله دي بترجع الرقم بعد ما تشقلب"""

    num = str(number)
    result = num[-1::-1]
    return int(result)

def sequer(number):
    """الداله دي بترج تربيع الرقم"""

    return number*number

def is_mysterious(num):
    """الداله دي بترجع العدد الغامض"""

    first_step = sequer(num)
    sec_step = num_gero(first_step)

    if sec_step % num == 0 :
        return True
    else:
        return False


for i in the_list:
    if is_mysterious(i):
        the_numbers.append(i)

print(the_numbers)
#الناتج :
#[1, 2, 3, 9, 11, 22, 26, 33, 48, 66, 87, 99]

إعجابَين (2)

حل احترافي :

def is_mysterious(num):
    """الداله بتحقق من العدد غامض و لا لا"""
    squared = num * num
    reversed_squared = int(str(squared)[::-1])
    return reversed_squared % num == 0

mysterious_numbers = [i for i in range(1, 101) if is_mysterious(i)]
print(mysterious_numbers)

إعجابَين (2)

الحل المختصر :

def is_mysterious (number) : return int (str (number ** 2)[ : :-1]) % number == 0
for x in range (1,101) : print (x, " : ", is_mysterious (x))
إعجاب واحد (1)
#challenge 17: mysterious Number

def mysterious_Number(number=33):
    n = str(number**2)[::-1]
    
    if int(n) % number == 0:
        print("The number",number,"is a mysterious Number")
    else:
        print("The number",number,"is not a mysterious Number")

mysterious_Number()
إعجاب واحد (1)