اذهب إلى المحتوى

السؤال

Recommended Posts

  • 0
نشر

لإيجاد أول خانة في الرقم نحتاج إلى القيام بالخطوات التالية

  1. أولاً العثور على عدد الخانات وذلك يمكن فعله عن طريق إيجاد لوغاريتم الرقم للأساس 10
  2. من المعادلة السابقة سنحصل على عدد الخانات -1
  3. الأن نقوم برفع العشرة لأس الناتج الذي عثرنا عليه فمثلاً  العدد 989 عدد خاناته 3 , المعادلة السابقة ناتجها 2 , نقوم إذا برفع 10 للأس 2 والذي يعطينا 100
  4. نقوم بقسمة العدد على ناتج رفع العشرة للأس, أي نقوم بقسمة ال989 في مثالنا على 100 ونقم بتقريب الناتج , سنعثر على أول خانة في الرقم

ويمكن تمثيل ذلك برمجياً عن طريق الشفرة التالية بلغة الجافا

   int number = scan.nextInt();
   int firstDigit;
   int totalDigits = (int) Math.log10(number);
   firstDigit = (int) (number/ (int) Math.pow(10,totalDigits));

 

  • 0
نشر

طريقة تعتمد على الحلقة التكرارية، حيث نحسب في كل تكرار للحلقة ناتج قسمة العدد على 10 (قسمة صحيحة) ما يؤدي للتخلص من خانة الآحاد في كل تكرار وفي آخر تكرار تبقى ليدنا خانة وحيدة، وسوف تحوي النتيجة النهائية الصحيحة

int x = 123;

while (x >= 10) {
	x = x / 10;
}


// خلال البرنامج
x = 123
x = 12
x = 1


x = 1 // الجواب

إذا كان x أصغر من 10 فهو نفسه الإجابة،

إن كنت تريد شمل القيم السابة، ثم نقوم بالعمليات على x موجبة بعد ضربها ب -1، أو القيمة المطلقة

x = Math.abs(x);

أو

if ( x < 0) x = -x; // x*= -1;

وستعطي نفس النتيجة

 

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...