nasimtorabtark

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

nasimtorabtark ۱۳۹۸/۱۲/۲۰ مباحث عمومی برنامه‌نویسی

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

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

پاسخ‌ها به این تاپیک
hamoon1520
hamoon1520
۱۳۹۹/۱۲/۱۱

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

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
apcom
apcom
۱۳۹۹/۰۱/۱۷

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

#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])