الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

هذا الرقم يساوي كام في كام ؟

مغلق
بدأه قبل الاول في 17 أكتوبر 2006 · 20 رد · 3,223 مشاهدة · في الرياضيات والخوارزميات
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم .........

من يعرف يعمل خورازم لرقم مكون من 140 خانة اريد ان اعرف يتكون من كام في كام

مثال

الرقم 35 يساوي 5*7 فقط

ملاحظة اريد حل لا يستغرق اكثر من ساعات بسيطة وليس الا مالانهاية

وشكرا

#2

هل تريد جداء اعداد اولية ام جداء عددين فقط

#3

السلام عليكم ......

اقتباس
هل تريد جداء اعداد اولية ام جداء عددين فقط

لا اعلم معني كلمة جداء ولكن ما اقصدة هو ان الرقم الذي يتكون من 140 خانة مثلا هو عبره عن حاصل ضرب عددين فقط ما هما ؟

#4

لي رجعة بعد التحليل

قبلاتي... B)

#5

وعليكم السلام ورحمة الله وبركاته أخي الطائر ،

هناك عدة خوارزميات وطرق لتنفيذ الحل ، اخترت لك منها التالي :

Factoring - Pollard p-1

The following program implements the Pollard's p-1 algorithm for integer factorization:

	  function factorpm1(numb)
	  {
	  var bound=Math.floor(Math.exp(Math.log(numb)/3)), i=2, thegcd, base=2;
	  for (i=2; i<bound; i++) {
		   base = powmod(base,i,numb);
		 if((thegcd=gcd(base-1,numb)) != 1) {return thegcd;};
	  };
	  return 1;
	  }

والثانية :

Factoring - Pollard Rho

The following program implements Pollard's Rho algorithm for integer factorization:

	  function factorrho(numb)
	  {
	  var numsteps=2*Math.floor(Math.sqrt(Math.sqrt(numb))), slow=2, fast=slow, i;
	  for (i=1; i<numsteps; i++){
		 slow = (slow*slow + 1) % numb;
		 fast = (fast*fast + 1) % numb;
		 fast = (fast*fast + 1) % numb;
		 if((thegcd=gcd(fast-slow,numb)) != 1) {return thegcd;};
	  };
	  return 1;
	  }

وإذا احتجت للمزيد من الخوارزميات أو شرح عنها تفضل هذا الرابط :

Elementary Number Theory in JavaScript

تحية طيبة ،

اللهم طهر أرض فلسطين من العملاء والخونة

#6

السلام عليكم ...

ممكن أخي علاء توضيح (شرح) هذه الخوارزميات او علي الاقل احدهما ، ان كانا لديك وقت فقط

شكرا

#7

اهلا بك اخي...

لم افهم السؤال بالظبط او ربما لانك لم تقم بتوضيح المراد من السؤال....

اي عدد في العالم يمكن أن يحلل على اساس المكان المراد استخدامه فيه....

فمثلا تستطيع ان تقسم الرقم على 2 وسيكون الرقم عباره عن ناتج القسمه في 2...

بكل بساطه..:)

#8

السلام عليكم ...

انا مشعارف اوضح اكثر من ذلك ، ولكن ما اقصده ان هذا الرقم ليس زوجي وألآ كان القسمة علي 2 هو الحل وايضا ليسا اولي وألآ لكان لا يوجد حل

ارجوا ان اكون وضحت اليك الموضوع

#9

ارجو التوضيح ياشباب

#10

أعتذر عن تأخري في الرد ،

هناك عدة تقنيات وطرق تستخدم لتحليل عدد معين إلى عوامله الأولية ،

أبسط هذه التقنيات هي أن تحاول تحليل العدد "س" إلى عوامله الأولية عن طريق فحص قابليته للقسمة على الأعداد الأولية مثل 2 ، 3،5،7،11 ...

يكفي أن نجرب قابلية قسمة العدد "س" على الأعداد الأولية ابتداءً من 2 وحتى نصل إلى عدد أولي قيمته أقل من أو تساوي جذر "س".

بالتجربة ، هذه التقنية تعتبر فعالة إذا كان الرقم < 10000 .

أما إذا كان الرقم أكبر من ذلك فعلينا أن نستخدم تقنيات متقدمة .

ملاحظة : هناك تقنيات وطرق لمعرفة قابلية القسمة على أي عدد .

من الطرق المتقدمة في التحليل :

Fermat Factorization

Pollard Rho Method

Pollard p-1 method

Exponent Factorization method

Quadratic Sieve

وهناك طرق أخرى أيضاً .. :D

إذا أردت شرح أي من الطرق السابقة فسأشرحها لك بالإنجليزي لأنني لا أعرف كل مصطلحات الرياضيات بالعربي ..

أو يمكنك البحث عن هذه الطرق باستخدام Google .. أو إذا أردت سأضع روابط لكتب ومواقع تشرح كل هذه الخوارزميات بالتفصيل ..

:)

اللهم طهر أرض فلسطين من العملاء والخونة

#11

ياريت تشرح اسرع طريقة فيهم ، وهل فيهم o(n log n)

وياه لو فيه o(log n)

#12

Pollard's rho algorithm

في أسوأ حالاتها ( worst case ) تحتاج إلى (n1/4) من الوقت : الجذر الرباعي ل n

حيث n عدد صحيح

بالنسبة لشرحها فأنا أستطيع شرحها لك بطريقة رياضية .. أما كخوارزمية للكمبيوتر فشرحها موجود في هذا الكتاب :

Introduction to Algorithms

صفحة 783 .

( أعتذر عن شرحها كخوارزمية لأنني لم أدرسها بعد )

شرح مبسط للخوارزمية :

Pollard's rho algorithm

:)

تم تعديل هذه المشاركة بواسطة علاء السلال في 4 ديسمبر 2006 في 17:13

اللهم طهر أرض فلسطين من العملاء والخونة

#13

ليس زوجي ولا أولي إذاً إما صفر أو عدد تخيلي ؟

أتمنى أن يفتونا عباقرة الرياضيات بما معنى ليس زوجي ولاأولي ؟

#14

السلام عليكم

اقتباس
Pollard's rho algorithm

في أسوأ حالاتها ( worst case ) تحتاج إلى (n1/4) من الوقت : الجذر الرباعي ل n

حيث n عدد صحيح

الذي افهموه من كلامك ان Time complexity O(n) ولو كانت هكذا في هذا الحالة (الرقم 140 خانة) سيكون وقت التنفيذ طويل جدا جدا جدا

فما رايك في كلامي هل صحيح اما ماذا؟

وشكرا علي الرد

اقتباس
ليس زوجي ولا أولي إذاً إما صفر أو عدد تخيلي ؟

كلامك صحيح لو الاعداد الاولية هي الاعداد الفردية

شكرا علي الرد

#15
{عيسى} كتب:
ليس زوجي ولا أولي إذاً إما صفر أو عدد تخيلي ؟

أتمنى أن يفتونا عباقرة الرياضيات بما معنى ليس زوجي ولاأولي ؟

على ما أعتقد المقصود من الشؤال هو تحليل عددٌ ما إلى أي عاملين (ليس بالضرورة أن يكون العامل عدد أولي). أي أن رقم مثل 150 يمكن أن يحلل إلى 15 و 10

#16
{عيسى} كتب:
ليس زوجي ولا أولي إذاً إما صفر أو عدد تخيلي ؟

أتمنى أن يفتونا عباقرة الرياضيات بما معنى ليس زوجي ولاأولي ؟

المقصود : عدد فردي ليس أولي :)

أمثلة : 21 ، 99 ، 153 ...

قبل الاول كتب:
الذي افهموه من كلامك ان Time complexity O(n) ولو كانت هكذا في هذا الحالة (الرقم 140 خانة) سيكون وقت التنفيذ طويل جدا جدا جدا

فما رايك في كلامي هل صحيح اما ماذا؟

نعم كلامك صحيح :)

لهذا السبب تعتبر خوارزمية RSA في التشفير ناجحة حتى الآن ..

لأنني عندما أضرب عددين أوليين كل واحد على سبيل المصال يتكون من 100 خانة سينتج عندي عدد يتكون من 200 خانة تقريباً مما يحتاج إلى وقت طويل لتحليله ،

وهكذا تبقى المعلومات المشفرة محمية فترة طويلة دون أن يتمكن أي أحد من كسرها ..

حتى الآن لم يتوصل العلماء إلى طريقة فعالة لتحليل الأرقام الكبيرة .. وما زال المجال مفتوح للبحث والاكتشاف .. لأن الطرق الموجودة حالياً تحتاج إلى أوقات طويلة في أسوأ الحالات إلا إذا كان هناك حالة خاصة مثل أن تكون الأعداد الأولية متقاربة ( على سبيل المثال : twin prime ).

اللهم طهر أرض فلسطين من العملاء والخونة

#17

السلام عليكم

اخير وصلت الي الذي توقعته يكون نهاية هذا الموضوع

ولكن لي سؤال كيف ادخل 140 خانة في متغير

شكرا

#18

هنا المشكلة الكبرى. المكتبات القياسية لن تستطيع التعامل مع رقم بهذا الحجم. لذا ستحتاج إلى مكتبة رياضيات جديدة مع class أو structure جديد يمثل هذه النوعية من القيم.

#19

الاخ علاء وضح الكلام :) الي كنت بقوله

والـ 140 خانه فيه مكتبه للـ HugeInt

وممكن يكون التعامل معها على انها array of char او string وعليها يكون التعامل

#20

السلام عليكم

قال لي احد من انشغل بهذا الموضوع لفترة انا يوجد نسخة من لغة البيزك تتعامل مع هذا النوع من الارقام !! ولكن نسيت اسمها

#21

السلام عليكم

اقتباس
وممكن يكون التعامل معها على انها array of char او string وعليها يكون التعامل

وكيف سيتم اجراء العملية الحسابيه علي هذه المصفوفه علي اساس انها رقم واحد

شكرا

تم تعديل هذه المشاركة بواسطة قبل الاول في 2 يناير 2007 في 04:31

هذا الموضوع مغلق.

مواضيع مشابهة