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

أحتاج مساعدة في طباعة Perfect Numbers

بدأه randa في 11 يناير 2010 · 22 رد · 2,257 مشاهدة · في قسم البرمجة بــ Javascript
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

 أخي الكريم من الممكن أن تساعدني في هذا الكود للضرورة القصوى

  <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"   
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  <html xmlns = "http://www.w3.org/1999/xhtml">   
   <head><title>Solution 9.21</title>      
<script type = "text/javascript">         
<!--  
    
  
 for ( var i = 1; i < number; ++i )
document.writeln( number + "i" + "+" + "<br/>");



    function perfectNumber( number )                 
   {           
       for ( number = 1; number <= 1000; ++number )
      {
         for ( var i = 1; < num )     
        {
          if ( number % i == 0 )
        }
      }
   }         
          
  -->      
  </script>   
   </head>  
  <body>         
    
   </body></html>

<!--
-->

بحيث يريد ان نطبع الارقام الـperfect Number

ما بين الـ 1 والـ 1000

مبينين بالتفصيل

مثال الرقم 6

3 + 2 + 1=6

ولك جزيل الشكر

تم تعديل هذه المشاركة بواسطة Xacker في 11 يناير 2010 في 18:31

#2

randa

بصراحة مافهمت المطلوب بالضبط

لكن اتوقع هذا

  <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"   
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  <html xmlns = "http://www.w3.org/1999/xhtml">   
   <head><title>Solution 9.21</title>      
<script type = "text/javascript">         

    function perfectNumber()                 
   {           
       for ( number = 1; number <= 1000; number++ )
      {
         for ( var i = 1; i < number; i++ )     
        {
        	if ( number % i != 0 )
		{
			document.writeln("number: " number + ", i: " + i + "<br/>");
		}
        }
      }
   }         
  </script>   
   </head>  
	<body>         
    		<script type = "text/javascript">
			perfectNumber();
		</script>
	</body>

</html>

Xacker كتب:

نعم الاحتمال الأرجح.

بالنسبة للزوار عليك معرفة أين يفشل تنفيذ الكود, بالمناسبة هل يتم تغيير الستايل للجزء الثاني من الكود لديك عند مرور الماوس فوقه؟

الفشل واضح اخي انه لايتم الاستدعاء ابدا

بالنسبة للديف الاخرى نعم يتغير ويتم التنفيذ

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

اما inline تعمل

تم تعديل هذه المشاركة بواسطة Code Geek في 11 يناير 2010 في 18:34

#3

أخت رندة قمت بفصل مشاركتك في موضوع مستقل..

بالنسبة للمشكلة بين يديك..

وفقاً لما قرأته على ويكي بيديا، من غير المعلوم حتى الآن إن كان يوجد odd perfect numbers ويظهر الموقع معادلة لاقليدس تقوم بإيجاد أول 4 perfect numbers (أول 3 منها تكون في المجال [1-1000])

يمكنك الاعتماد عليها مثلاً؟

mimetex.cgi?2^{p-1}(2^{p}-1)

تم تعديل هذه المشاركة بواسطة Xacker في 11 يناير 2010 في 18:34

Do as I say, not as I do

We are Anonymous. We are Legion. We don't forgive. We don't forget

#4
Code Geek كتب:

randa

بصراحة مافهمت المطلوب بالضبط

لكن اتوقع هذا

:mellow:

اشكرك اخي الكريم على المبادرة وحياك الله

ولكنها لم تعمل

تم تعديل هذه المشاركة بواسطة randa في 11 يناير 2010 في 18:37

#5

تم التجربة على فايرفوكس 3.5.7

وللاسف لم يعمل ايضا :(

randa كتب:

اشكرك اخي الكريم على المبادرة وحياك الله

ولكنها لم تعمل

العفو

امسحي الكود وجربي امر alert واذا لم يعمل فمشكلتك نفس مشكلتي :(

#6
Code Geek كتب:

تم التجربة على فايرفوكس 3.5.7

وللاسف لم يعمل ايضا :(

العفو

امسحي الكود وجربي امر alert واذا لم يعمل فمشكلتك نفس مشكلتي :(

أخي الكريم شو خص alert

ما الها علاقة بالموضوع

#7

للتجربة ان الجافا سكربت يعمل بشكل صحيح

لكن لاحظت نقطة نسيتها

عدلي السطر هذا

for ( number = 1; number <= 1000; number++ )

الى

for ( var number = 1; number <= 1000; number++ )
#8
Xacker كتب:

أخت رندة قمت بفصل مشاركتك في موضوع  مستقل..

شكرا لك

#9

السلام عليكم و رحمة الله و بركاته،،

قمت بعمل هذا الكود على عجل.. آسف جداً لانشغالي التام..

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Language" content="en-us" />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Perfect Number</title>
<script type="text/javascript">
function printPerfectNumbers(topEdge) {
	document.writeln("<STRONG>Perfect Numbers between 1 and " + topEdge + ":</STRONG><br />");
	for (var i = 1; i < topEdge; i++) {
		var discoveredNumber = 0;
		for (var j = 1; j < i; j++) {
			if (i % j == 0) {
				discoveredNumber += j;
			}
		}

		if (discoveredNumber == i) {
			document.writeln(discoveredNumber + " is a Perfect Number<br />");
		}
	}
}

window.onload = function() {
	printPerfectNumbers(1000);
}

</script>
</head>
<body>
</body>
</html>

تحياتي،،

تم تعديل هذه المشاركة بواسطة محمد رياض الخضري في 11 يناير 2010 في 21:57

n622971709_461151_8573.jpg
#10

فعلا أخي محمد لساني يعجز عن شكرك

ولكن أسأل المولى عز وجل ان يجعله في ميزان حسناتك وبارك الله فيك أخي الفاضل

أود أن اسألك عن الراندوم هل ممكن ان تقوم بطباعة رقم مكرر

تحياتي وشكرا

كما ان هناك سؤال طبعا ما شالله عنك

كيف وصلت لهذه المرحلة

تم تعديل هذه المشاركة بواسطة randa في 11 يناير 2010 في 22:03

#11

السلام عليكم و رحمة الله و بركاته،،

طباعة رقم عشوائي بالـ Java Script يكون بالشكل التالي:

var number = 10;
document.writeln(Math.random() * number);

بحيث يكون number عبارة عن سقف الأرقام العشوائية.. نخزن الأرقام المولدة في Array مثلا و نفحصهم بـ for loop..

المثابرة هي الأساس.. أنا في الأصل مبرمج Java و حديث على الويب.. و لكن للضرورة أحكااام..

تحياتي،،

1
n622971709_461151_8573.jpg
#12

حاولت اعادة استعادة الفنكشن بهذه الصيغة ولكنها لم تصلح فما الخلل

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Language" content="en-us" />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Perfect Number</title>
<script type="text/javascript">
function printPerfectNumbers(topEdge) {
	document.writeln("<STRONG>Perfect Numbers between 1 and " + topEdge + ":</STRONG><br />");
	for (var i = 1; i < topEdge; i++) {
		var discoveredNumber = 0;
		for (var j = 1; j < i; j++) {
			if (i % j == 0) {
				discoveredNumber += j;
			}
		}

		if (discoveredNumber == i) {
			document.writeln(discoveredNumber + " is a Perfect Number<br />");
		}

</script>
</head>
<body onload = "printPerfectNumbers( topEdge )">
</body>
</html>

تم تعديل هذه المشاركة بواسطة randa في 11 يناير 2010 في 23:08

#13
محمد رياض الخضري كتب:

السلام عليكم و رحمة الله و بركاته،،

طباعة رقم عشوائي بالـ Java Script يكون بالشكل التالي:

var number = 10;
document.writeln(Math.random() * number);

بحيث يكون number عبارة عن سقف الأرقام العشوائية.. نخزن الأرقام المولدة في Array مثلا و نفحصهم بـ for loop..

المثابرة هي الأساس.. أنا في الأصل مبرمج Java و حديث على الويب.. و لكن للضرورة أحكااام..

تحياتي،،

اذن أخي الكريم هناك سؤال يطلب تكوين Array من one dimensional من حجم 20

بحيث تقوم ختيار عشرين رقم عشوائي من 1 - 100 بحيث عدم تكرار احد الاقرام

بدأت بها لكن لا اعرف كيف اكمل وما ان كان حلي صحيحا

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  <html xmlns="http://www.w3.org/1999/xhtml">
   <head>

 <title>Solution Aeeay </title>
<script type="text/javascript">
    var number;
    var g = new Array( 20 );

    for ( var roll = 1; roll <= 20; ++roll )
        {
          number = Math.floor( 1 + Math.random() * 100 );
          ++g[number];
        }
   </script>
   </head><body onload = "printPerfectNumbers()"></body>
</html>
#14

السلام عليكم و رحمة الله و بركاته،،

بالنسبة للمشاركة الأولى في الـ onload يجب أن تستبدلي topEdge بالرقم الذي تريدين البحث من 1 إليه.. في حالتك 1000 أي يصبح الكود :

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Language" content="en-us" />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Perfect Number</title>
<script type="text/javascript">
function printPerfectNumbers(topEdge) {
        document.writeln("<STRONG>Perfect Numbers between 1 and " + topEdge + ":</STRONG><br />");
        for (var i = 1; i < topEdge; i++) {
                var discoveredNumber = 0;
                for (var j = 1; j < i; j++) {
                        if (i % j == 0) {
                                discoveredNumber += j;
                        }
                }

                if (discoveredNumber == i) {
                        document.writeln(discoveredNumber + " is a Perfect Number<br />");
                }

</script>
</head>
<body onload = "printPerfectNumbers(1000)">
</body>
</html>

فضلاً قومي بالتجربة و أخبريني بالنتيجة،،

تحياتي،،

n622971709_461151_8573.jpg
#15
محمد رياض الخضري كتب:

السلام عليكم و رحمة الله و بركاته،،

بالنسبة للمشاركة الأولى في الـ onload يجب أن تستبدلي topEdge بالرقم الذي تريدين البحث من 1 إليه.. في حالتك 1000 أي يصبح الكود :

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Language" content="en-us" />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Perfect Number</title>
<script type="text/javascript">
function printPerfectNumbers(topEdge) {
        document.writeln("<STRONG>Perfect Numbers between 1 and " + topEdge + ":</STRONG><br />");
        for (var i = 1; i < topEdge; i++) {
                var discoveredNumber = 0;
                for (var j = 1; j < i; j++) {
                        if (i % j == 0) {
                                discoveredNumber += j;
                        }
                }

                if (discoveredNumber == i) {
                        document.writeln(discoveredNumber + " is a Perfect Number<br />");
                }

</script>
</head>
<body onload = "printPerfectNumbers(1000)">
</body>
</html>

فضلاً قومي بالتجربة و أخبريني بالنتيجة،،

تحياتي،،

لم تنجح أخي الكريم

#16

لقد نسيتي قوسي الإغلاق الأولى خاصة بالـ for و الثانية خاصة بالـ function

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Language" content="en-us" />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Perfect Number</title>
<script type="text/javascript">
function printPerfectNumbers(topEdge) {
        document.writeln("<STRONG>Perfect Numbers between 1 and " + topEdge + ":</STRONG><br />");
        for (var i = 1; i < topEdge; i++) {
                var discoveredNumber = 0;
                for (var j = 1; j < i; j++) {
                        if (i % j == 0) {
                                discoveredNumber += j;
                        }
                }

                if (discoveredNumber == i) {
                        document.writeln(discoveredNumber + " is a Perfect Number<br />");
                }
		}
}

</script>
</head>
<body onload = "printPerfectNumbers(1000)">
</body>
</html>

تحياتي،،

n622971709_461151_8573.jpg
#17

أشكرك اخي الكريم جزيل الشكر ولكن بالنسبة لسؤال الـ Array الذي قمت بطرحه

هل من الممكن أن تساعدني فيه

#18

أمر السؤال بسيط..

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Solution Aeeay</title>
<script type="text/javascript">
function generateRandomNumbers(count) {
    var number;
    var g = new Array(count);
	var isUnique;

    for (var i = 0; i < g.length; i++) {
		isUnique = false;

		while (!isUnique) {
			number = Math.floor( 1 + Math.random() * 100 );
			isUnique = true;

			for (var j = 0; j < i; j++) {
			  if (number == g[j]) {
				  isUnique = false;
				  break;
			  }
			}
		}

		g = number;
    }

	document.writeln("<STRONG>Outputting " + g.length + " Random Numbers:</STRONG><br />");
	for (var i = 0; i < g.length; i++) {
		document.writeln(g + "<br />");
	}
}
   </script>
</head>
<body onload = "generateRandomNumbers(20);">
</body>
</html>

تحياتي،،

n622971709_461151_8573.jpg
#19

شكرا جزيلا لك وجزاك الله عنا وعنك ألف خير

جدا منحرجة منك اذا قمت بازعاجك او كنت قد أثقلت عليك

شكرا لك اخي الكريم

#20

لا أبداً لا يوجد أي ثقل..

المهم في المرة القادمة أريد أخطاء أصعب.. و محاولات أكثر من طرفك.. :happy: و أنا على أتم الاستعداد للمساعدة..

تحياتي،،

n622971709_461151_8573.jpg
#21
while (!isUnique)

أخي الكريم هل من الممكن توضيح هذه النقطة

محمد رياض الخضري كتب:

لا أبداً لا يوجد أي ثقل..

المهم في المرة القادمة أريد أخطاء أصعب.. و محاولات أكثر من طرفك.. :happy: و أنا على أتم الاستعداد للمساعدة..

تحياتي،،

إن شاء الله أخي الكريم

فلن يضيع مجهودك هباءا

ولكن المشكلة كما قلت لك أنني لا زلت مبتدئة ويجب انا أتعب على نفسي أكثر

أراك في لغة الجافا ان شالله

- رح أجننك -

جهودك مشكورة

ورضي الله عنك ان شالله

#22

حسناً..

الآن نحن نحتاج لاستخراج أرقام فريدة.. أي أن هذه الأرقام لا يجب أن تتكرر بتاتاً.. استخدمنا فكرة بسيطة الـ for الخارجية من 0 إلى العدد المطلوب و تمثل كل رقم نريد توليده..

الـ for الداخلية تمر من 0 إلى الرقم الذي يسبق الرقم الجديد و هي تقوم بفحص ما إذا كان هناك رقم مكرر مثل الرقم الجديد أم لا..

لو تركناها هكذا لما استطعنا إعادة المحاولة لإيجاد رقم آخر غير الذي أخرجناه.. لذا احتجنا لاستخدام while خارجية تقوم بالدوران بشكل لا متناهي تفحص على شرط isUnique و الذي نضع نحن فيه true إن كان الرقم الذي قمنا باختياره فريد.. و أما إذا كان مكرر فتكون false و حسب علم الـ boolean algebra عكس الـ false هو true فيدخل في الـ while و يولد رقم جديد و يفحصه.. و هكذا حتى يولد جميع الأرقام..

تحياتي،،

تم تعديل هذه المشاركة بواسطة محمد رياض الخضري في 12 يناير 2010 في 01:17

n622971709_461151_8573.jpg
#23
محمد رياض الخضري كتب:

boolean algebra

هي أول مرة تمر عليي

لذلك لم اعرف مبدأ عملها

اذن هي بشكل عام تقوم بارجاع القيم true

او

false

لك مني جزيل الشكر

واجمل تحية اخي الكريم

شكرا لك :happy:

وتقبل احترامي

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