بدست آوردن بیشترین مقسوم علیه عدد با استفاده از تابع در پایتون

برنامه ای بنویسید که ۲۰ عدد از ورودی بخواند و در انتها عددی که بیشترین تعداد مقسوم علیه را دارد به همراه تعداد مقسوم علیه‌‌‌‌‌‌‌‌‌‌‌‌های آن در خروجی چاپ کند. اگر چند عدد این حالت را داشتند بزرگترین آنها را چاپ کند.

برای این سوال تابعی بنویسید که یک عدد به عنوان ورودی دریافت کند و تعداد مقسوم علیه های آن عدد را در خروجی چاپ کند. سپس در برنامه ی خود از این تابع استفاده کنید.

پاسخ ها

sokanacademy forum
کاربر سکان آکادمی 4 سال پیش

این می تونه کمکتون کنه:

#def divisor is from:
#https://www.w3resource.com/python-exercises/basic/python-basic-1-exercise-24.php
def divisor(n):
 for i in range(n):
 x = len([i for i in range(1,n+1) if not n % i])
 return x

nums=[]
i=0
while i<5:
 preNum=int(input("new number plz: "))
 if(preNum>0):
 nums.append([divisor(preNum),preNum])
 i+=1
 else:
 print("non zero or smaller number!")

nums.sort()

print(nums[len(nums)-1])
sokanacademy forum
کاربر سکان آکادمی 3 سال پیش

اگه تونستین درست بچینین کد رو تا جواب بده .مال من که جواب داد

av={}
ax={}

for aa in range (0,10):
 a1=[]
 a2=[]
 a=int(input())
 for i in range (2,a):
 if a%i==0:
 a1.append(i)
 for ii in a1:
 count=0
 for oo in range(1,ii):
 count=count+1
 if ii%count==0 and count!=1 :
 break
 if count==(ii-1):
 a2.append(ii)
 
 
 av[a]=a2
for p in av:
 ax[p]=(len(av[p]))
m=(sorted(ax.items()))#,key=lambda ee:ee[1]))
m.reverse()
m=dict(m)
ma=max(list(m.values()))
for t in m :
 if m[t]==ma:
 print(t,m[t])
 break
online-support-icon