Amir_B
Amir_B
خواندن ۲ دقیقه·۲ سال پیش

مسئله سوم از مسائل اویلر

تعریف مسئله :

متن سوال:عامل های اول عدد 13195 عبارتند از5, 7, 13 و 29.

بزرگترین عامل اول عدد600851475143 چیست؟


قدم اول در کد ما این است که باید اعدادی که بر ورودی بخش پذیر هستن و ما تحت عنوان ضرایب اون عدد میشناسیم رو پیدا کنیم.

برای این قدم باید بیاییم و یه حلقه فر راه بندازیم .مود عدد فرضیمون رو تا یه رنج مشخصی بر اون حلقه بگیریم .

مثلا حلقه ما از یک تا ده هست . این بدان معناست که عدد فرضی ما قرار هستش که بر اعداد 1و 2و 3و 4و 5 و 6 و .. 9 مود گرفته بشه

حالا که این مود ها گرفته شد باید برابر 0 قرار داده بشه که این به ما نشون میده که عدد فرضی ما به هر کدام از این ها که حاصلش 0 شده ، بخش پذیر هست .


حال در قدم دوم ما باید این اعداد بخش پذیر را وارد یک فیلتر دیگر کنیم . فیلتری که قرار هست به ما بگوید که این اعداد بخش پذیر جدا از بخش پذیر بودن ، اول هم هستند .

خب شرط اول بودن این است که :

1 : بر خودش بخش پذیر باشد ( مود خودش بر خودش برابر 0 باشد )

2 : بر یک هم بخش پذیر باشد .

3:بر دو بخش پذیر نباشد .

همه این ها را میتوان در یک if سه شرطی نوشت

تمام این توضیحات در کد اورده شده است .


و در قدم اخر هم میتوان اعدادی که هم بخش پذیر بودن و هم اول را بودن در یک ارایه قرار داد و به این صورت همه را به صورت یک جا خواهیم داشت.

n=600851475143
lis=[]

for x in range(1,10000):
if (n%x==0):
print(f'{x} bakhsh pazir')
if (x%x==0 and x%1==0 and x%2!=0 ):
print(f'{x} bakhsh pazir va aval')
lis.append(x)

print(lis)




بخش پذیرپایتونعدد اولمسئله سوم اویلر
دانشجوی کارشناسی کامپیوتر
شاید از این پست‌ها خوشتان بیاید