ورود

View Full Version : حاصلضرب عوامل



majid_i68
سه شنبه 09 آبان 1391, 01:08 صبح
سلام
میخواهم برنامه ای بنویسم که عددطبیعی گرفته به صورت حاصلضرب عوامل اولش چاپ کند..

چطور باید حلقه و فرمولش رو تعریف کنم. که تک تک عاملها را نشان دهد... با زبان سی

Ananas
سه شنبه 09 آبان 1391, 07:35 صبح
سلام علیکم.
خوب:متفکر: باید اول به 2 اینقدر تقسیم کنی تا باقیمانده بیاره بعد به سه 3 بعد به 5 بعد 7 و ... به ترتیب به اعداد اول تقسیم کنی و برای هر کدوم اینقدر این کار تکرار بشه تا به باقی مونده برسی. نهایتا هر وقت عدد رسید به 1 کار تمومه. ممکنه اصلا نیازی به 3 نداشته باشی و از دو پرش کنی به 5 که مشخصه تو اولین تقسیم به 3، باقیمانده میاری. میشه اینطور هم گفت :
-----------------------------------
y = 1
مادامی که x > 1 انجام بده
{
y = عدد اول بعد از y.
مادامی که x / y باقیمانده نداشته باشه x = x / y.
y را چاپ کن.
}
-----------------------------
میتونی لیستی از اعداد اول رو به شکل دستی تو یک آرایه بهش بدی تا هر دفه نخواد دنبالش بگرده.

Ananas
سه شنبه 09 آبان 1391, 08:03 صبح
یه راه ساده تر اینه که به جای اعداد اول همه ی اعداد رو تست کنی یعنی از دو شروع کنی یکی-یکی اضافه کنی. مثلا عددی مثل 6 هیچ موقع چاپ نمیشه چون قبلش به اندازه ی کافی به 2 و 3 تقسیم کردیم.