p1rofiletest

محاسبه اعداد مضرب یک عدد در پایتون‌

p1rofiletest ۱۳۹۷/۰۶/۲۹ مباحث عمومی برنامه‌نویسی

سلام 

برنامه ای بنویسید که مضرب های یک عدد  را محاسبه و چاپ کند . ( مثلا مضرب های عدد 10 و یا ... )?

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

 

پاسخ‌ها به این تاپیک
امیرحسین مجیری
امیرحسین مجیریدوست‌دار داده‌ها، پی‌اچ‌پی و پژوهش روی زبان
۱۳۹۷/۰۶/۲۹

سلام

قاعدتا باید بدونید تا مضرب چند عدد رو می‌خواید. فرض کنیم می‌خوایم به ازای هر ورودی تا مضرب ۱۰ اون رو به دست بیاریم. در این صورت کد ما این شکلی می‌شه:

n = input("Enter a number ")
max = 10
for i in range (1, max):
    print (i * n)

اما اگر منظورتون به دست آوردن اعدادی است که بر یک عدد بخش‌پذیر هستند می‌تونید از کد زیر استفاده کنید:

n = input ("Enter a number ")
for i in range(1, n+1):
    if n % i== 0:
        print i

p1rofiletest
p1rofiletest
۱۳۹۷/۰۶/۳۰

ممنونم . الان بخوام یه برنامه ای بنویسم بدون استفاده از حلقه ها (مثل for و...) که اولین مضرب بغدی مثلا عدد 10 یا هر عدد دیگه ای را چاپ کنه باید چیکار کنم مثلا عدد ورودی من هستش 36 به من عدد 40 رو بده و اگر عدد ورودی ام 40 بودش بهم 50 رو بده

در پاسخ به

امیرحسین مجیری
امیرحسین مجیریدوست‌دار داده‌ها، پی‌اچ‌پی و پژوهش روی زبان
۱۳۹۷/۰۶/۳۰
number = int (input ("Enter a number: "))
until_next_ten_multiplicity = 10 - (number % 10)
print (number + until_next_ten_multiplicity)

در پاسخ به

p1rofiletest
p1rofiletest
۱۳۹۷/۰۶/۳۰

ممنونم ممکنه این کد رو توضیح بدهید الگوریتمش چطوری کار میکنه 

در پاسخ به

امیرحسین مجیری
امیرحسین مجیریدوست‌دار داده‌ها، پی‌اچ‌پی و پژوهش روی زبان
۱۳۹۷/۰۶/۳۰

خیلی ساده:

باقیمانده‌ی عدد ورودی بر ۱۰ (یا هر عدد مبنای دیگه) نشون می‌ده عدد ورودی از مضرب قبلی عدد مبنا (در این جا ۱۰) چقدر فاصله داره. حالا اگه عدد مبنا رو از این باقیمانده کم کنیم می‌تونیم بفهمیم از مضرب بعدی چقدر فاصله داریم و در پایان کافیه عدد ورودی رو به‌علاوه‌ی فاصله‌ی عدد با مضرب بعدی بکنیم تا به اون مضرب دست بیابیم.

در پاسخ به

علی رضا کامکار
علی رضا کامکاربرنامه نویس وب و موبایل
۱۳۹۷/۰۶/۲۹

سلام.

در واقع این سوال در اینجا میخواهد ببیند که چه اعدادی بر اعداد دیگر بخش پذیر هستند (یعنی باقی مانده تقسیمش بر عدد دیگر برابر صفر میشود).

مثلا عدد ۱۰ بر اعداد ۱ و ۲ و ۵ و ۱۰ بخش پذیر است چون باقیمانده تقسیم ۱۰ بر هر یک از اعداد ذکر شده برابر صفر میشود.

چند نکته راجب بخش پذیری وجود دارد که در زیر ذکر میکنم:

۱ - هر عددی بر ۱ و خودش بخش پذیر است مثلا عدد ۴ حتما بر ۱ و ۴ بخش پذیر است و باقیمانده اش بر این دو عدد برابر صفر میشود.

۲ - هر عدد طبیعی که غیر از ۱ و خودش بر عدد دیگری بخش پذیر نباشد به آن عدد اول میگویند. مثلا عدد ۵ فقط بر ۱ و ۵ بخش پذیر است پس به آن عدد اول میگوییم. 

۳ - هر عدد طبیعی که غیر از ۱ و خودش بر عدد دیگری بخش پذیر باشد به آن عدد مرکب میگویند. مثلا عدد ۴ علاوه بر ۱ و ۴ بر عدد ۲ هم بخش پذیر است پس به آن عدد مرکب میگوییم. 

۴ - اعداد مرکب یا اول همگی بزرگتر از ۱ هستند و خود عدد ۱ نه اول است و نه مرکب.

۵ - بزرگترین مضرب هر عدد (جز خودش) برابر یا کوچک تر از نصف عدد میباشد. مثلا اگر ما عدد ۱۰ را در نظر بگیریم بزرگترین عددی که بر آن بخش پذیر است عدد ۵ میباشد و ۵ نیز نصف ۱۰ است.

موارد بالا مربوط میشد به مباحث ریاضی و اگر مطلب بالا رو کامل متوجه شده باشید کدنویسی براتون راحت میشه. (اگر توضیحاتم رو متوجه نشدید از دیگر منابع توی اینترنت با موضوع پخش پذیری اعداد سرچ بفرمایید و فیلم و عکس ببینید چون داخل متن ممکنه به شکل کامل حق مطلب ادا نشه)

number = int(input('Enter your number: '))

for i in range(1, number):
    if number % i == 0:
        print(i);
print(number);

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

راه بهینه تری هم هست (با استفاده از نکته شماره ۵ که بالا گفتم) که کد به شکل زیر در میاد و سرعت دوبرابری در محاسبه اعداد بزرگ دارد.

number = int(input('Enter your number: '))

for i in range(1, (number // 2) + 1):
    if number % i == 0:
        print(i);
print(number)

امیدوارم تونسته باشم منظور و دید کلی رو رسونده باشم،‌ صحبت کردن راجع به مسائل ریاضی توی متن خیلی سخته :)

p1rofiletest
p1rofiletest
۱۳۹۷/۰۶/۳۰

ممنونم . الان بخوا یه برنامه ای بنویسم بدون استفاده از حلقه ها (مثل for و...) که اولین مضرب بغدی مثلا عدد 10 یا هر عدد دیگه ای را چاپ کنه باید چیکار کنم مثلا عدد ورودی من هستش 36 به من عدد 40 رو بده و اگر عدد ورودی ام 40 بودش بهم 50 رو بده

در پاسخ به

kiamohammadi53
kiamohammadi53
۱۳۹۸/۰۶/۲۹

محاسبه مضرب بعدی ده محاسبه مضرب بعدی ده محاسبه مضرب بعدی ده

a=int(input())

b=a//10

c=(b*10)+10

print (int(c))

32بدی 40 میده

789 بدی 790 میده

در پاسخ به