الفرق بين المراجعتين ل"Algorithms/Juggler sequence"

من موسوعة حسوب
اذهب إلى التنقل اذهب إلى البحث
(أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE:متتالية لاعب الخفة}}</noinclude> متتالية لاعبة الخفة Juggler Sequence هي متتالية من الأعداد...')
 
 
سطر 1: سطر 1:
 
<noinclude>{{DISPLAYTITLE:متتالية لاعب الخفة}}</noinclude>
 
<noinclude>{{DISPLAYTITLE:متتالية لاعب الخفة}}</noinclude>
 
متتالية لاعبة الخفة Juggler Sequence هي متتالية من الأعداد الصحيحة التي يكون فيها العنصر الأول عددًا صحيحًا موجبًا ويُنتج كل رقم فيها بالاعتماد على العلاقة التعاودية التالية والتي تربطه بالعدد الذي يسبقه:
 
متتالية لاعبة الخفة Juggler Sequence هي متتالية من الأعداد الصحيحة التي يكون فيها العنصر الأول عددًا صحيحًا موجبًا ويُنتج كل رقم فيها بالاعتماد على العلاقة التعاودية التالية والتي تربطه بالعدد الذي يسبقه:
 
+
[[ملف:juggler-sequence-realtionship.svg|مركز|393x393بك]]
a''{k+1}=\begin{Bmatrix} \lfloor a''{k}^{1/2} \rfloor & for \quad even \quad a''k\ \lfloor a''{k}^{3/2} \rfloor & for \quad odd \quad a_k \end{Bmatrix}
 
  
 
فعلى سبيل المثال، تضم المتتالية التي تبدأ بالرقم <code>3</code> الأعداد التالية:
 
فعلى سبيل المثال، تضم المتتالية التي تبدأ بالرقم <code>3</code> الأعداد التالية:
سطر 12: سطر 11:
 
'''ملاحظات''':
 
'''ملاحظات''':
  
* يلاحظ من الأمثلة السابقة أنّ الأعداد في متوالية لاعب الخفة تبدأ بالصعود تدريجيًا لتصل إلى قمّة معينة ثم تبدأ بعدها بالنقصان تدريجيًا.
+
* يلاحظ من الأمثلة السابقة أنّ الأعداد في متتالية لاعب الخفة تبدأ بالصعود تدريجيًا لتصل إلى قيمة عظمى معينة ثم تبدأ بعدها بالتناقص تدريجيًا.
 
* تنتهي متتالية لاعب الخفة بالعدد <code>1</code> دائمًا.
 
* تنتهي متتالية لاعب الخفة بالعدد <code>1</code> دائمًا.
  

المراجعة الحالية بتاريخ 12:23، 11 أكتوبر 2019

متتالية لاعبة الخفة Juggler Sequence هي متتالية من الأعداد الصحيحة التي يكون فيها العنصر الأول عددًا صحيحًا موجبًا ويُنتج كل رقم فيها بالاعتماد على العلاقة التعاودية التالية والتي تربطه بالعدد الذي يسبقه:

juggler-sequence-realtionship.svg

فعلى سبيل المثال، تضم المتتالية التي تبدأ بالرقم 3 الأعداد التالية:

3, 5, 11, 36, 6, 2, 1

فعلى سبيل المثال، تضم المتتالية التي تبدأ بالرقم 9 الأعداد التالية:

9, 27, 140, 11, 36, 6, 2, 1

ملاحظات:

  • يلاحظ من الأمثلة السابقة أنّ الأعداد في متتالية لاعب الخفة تبدأ بالصعود تدريجيًا لتصل إلى قيمة عظمى معينة ثم تبدأ بعدها بالتناقص تدريجيًا.
  • تنتهي متتالية لاعب الخفة بالعدد 1 دائمًا.

تنفيذ الخوارزمية

تعرض الأمثلة التالية طريقة تنفيذ الخوارزمية في عدد من لغات البرمجة:

  • C++‎:
#include<stdio.h> 
#include<math.h> 

void printJuggler(int n) 
{ 
	int a = n; 

	// طباعة العنصر الأول
	printf("%d ", a); 

	// حساب بقية العناصر ما دام العنصر الأخير لا يساوي 1
	while (a != 1) 
	{ 
		int b = 0; 

		// التحقق من كون العنصر السابق زوجيًا أو فرديًا
		if (a%2 == 0) 

			// حساب العنصر التالي
			b = floor(sqrt(a)); 

		else

			// إن كان العنصر السابق فرديًا
			b = floor(sqrt(a)*sqrt(a)*sqrt(a)); 

		printf("%d ", b); 
		a = b; 
	} 
} 

//اختبار الدال السابقة
int main() 
{ 
	printJuggler(3); 
	printf("\n"); 
	printJuggler(9); 
	return 0; 
}
  • بايثون:
import math 

def printJuggler(n) : 
	a = n 
	
	# طباعة العنصر الأول
	print a, 
	
	# حساب العناصر ما دام العنصر الأخير لا يساوي 1
	while (a != 1) : 
		b = 0
		
		# التحقق من كون العنصر الأول زوجيًا أو فرديًا
		if (a%2 == 0) : 
			
			# حساب العنصر التالي
			b = (int)(math.floor(math.sqrt(a))) 

		else : 
			# إن كان العنصر السابق فرديًا
			b = (int) (math.floor(math.sqrt(a)*math.sqrt(a)*
										math.sqrt(a))) 

		print b, 
		a = b 

printJuggler(3) 
print
printJuggler(9)
  • جافا:
import java.io.*; 
import java.math.*; 

class GFG { 
	
	static void printJuggler(int n) 
	{ 
		int a = n; 
	
	// طباعة العنصر الأول
	System.out.print(a+" "); 
	
	// حساب العناصر ما دام العنصر الأخير لا يساوي 1
	while (a != 1) 
	{ 
		int b = 0; 
	
		// التحقق من كون العنصر السابق زوجيًا أو فرديًا
		if (a%2 == 0) 
	
			// حساب العنصر التالي
				b = (int)Math.floor(Math.sqrt(a)); 
	
		else
	
			// إن كان العنصر السابق فرديًا
				b =(int) Math.floor(Math.sqrt(a) * 
							Math.sqrt(a) * Math.sqrt(a)); 
	
		System.out.print( b+" "); 
		a = b; 
		} 
	} 

// اختبار التابع السابق
public static void main (String[] args) { 
	printJuggler(3); 
	System.out.println(); 
	printJuggler(9); 
	} 
}

تعطي الشيفرة السابقة المخرجات التالية:

3 5 11 36 6 2 1 
9 27 140 11 36 6 2 1

مصادر

  • صفحة Juggler Sequence في توثيق الخوارزميات في موقع GeeksforGeeks.