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

لغز بالرياضيات للأذكياء ..فقط..

مغلق
بدأه mooom في 4 أبريل 2007 · 16 رد · 5,491 مشاهدة · في الرياضيات والخوارزميات
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

ماهو اكبر عدد مكون من 3 خانات يقبل القسمة على مجموع خاناته بدون باقي

التوضيح والمعطيــــات والمطلوب:

مثلا لو فرضنا ان عدد مكون من 3 خانات XYZ الان مجموع الخانات = X+Y+Z

يقبل القسمة على مجموع خاناته يعني XYZ تقسيم (X+Y+Z) = (عدد صحيح) بدون باقي

ولدي الكثير من الالغاز الممتعة... :)

بإمكانك استخدام أي لغة برمجة طبعا..

#2
mooom كتب:
ماهو اكبر عدد مكون من 3 خانات يقبل القسمة على مجموع خاناته بدون باقي

التوضيح والمعطيــــات والمطلوب:

مثلا لو فرضنا ان عدد مكون من 3 خانات XYZ الان مجموع الخانات = X+Y+Z

يقبل القسمة على مجموع خاناته يعني XYZ تقسيم (X+Y+Z) = (عدد صحيح) بدون باقي

ولدي الكثير من الالغاز الممتعة... :)

بإمكانك استخدام أي لغة برمجة طبعا..

اخي العزيز هل انت متاكد ان العدد من 3 منازل؟ لان 999 يقسم على (9+9+9) بدون باقي.

ام انك تريد الحل بواسطة برنامج كومبيوتر؟

#3

السلام عليكم ,

أضف لديك ,,

x  = [1,9]
xxx / 3x
=
37

لي عودة بعد قليل من التفكير ,,

---------------------------------------------

تحديث ,,

هذه دالة على الطاير بالـ ++C تقوم بارجاع true إذا تحقق الشرط و false إذا لم يتحقق ,, لم أستخدم أي خوارزمية إذا كان هناك أصلاً :wacko:

bool IsDiv ( unsigned int Number ){

	unsigned int num = Number, x, y;

	x = num / 100;
		num = num % 100;

	y = num / 10;
		num = num % 10;

	num = num + x + y;

	if (  Number % num )
		return false;

	return true;
}

تحياتي ,,

تم تعديل هذه المشاركة بواسطة Khaled.Alshaya في 4 أبريل 2007 في 15:39

#4

هذا ابسط حل ارجو ان تفكروا في حل افضل

public class math {
  public static void main(String[] args){
	System.out.println("math Q.");
	int max = 0;
	int maxIndex = 0;
	int sumDigits = 1;
	int result = 0;
	int a,b, c;	

	for(int i = 1; i < 1000; i++){
	  a = i % 10;
	  b = (i / 10) % 10;
	  c = (i / 100);
	  sumDigits = a + b + c;
	  result = i % sumDigits;
	  if(result == 0 && i > maxIndex )
		maxIndex = i;
	}
	a = maxIndex % 10;
	b = (maxIndex / 10) % 10;
	c = (maxIndex / 100);
	max = maxIndex / (a + b + c);
	System.out.println("The max number is "+maxIndex+" divide by "+ a + " + "+ b + " + " + c + "=" + max);
  }
}
#5

اريد ان اضيف شيء على السؤال وارجو ان يعذرني صاحب الموضوع ,

اقترح اضافه:

1. ان ناتج القسمه يكون الاكبر

2. ان منازل العدد غير متشابهه

3. 1 + 2 معا.

4. وقت الحساب time complexity

#6

شكرا للجميع والحل صحيح هو 999 لكن هل جربتم 888 - 777 - 666 - 555 - 444 - 333 - 222 - 111

كلها تطلع نفس الباقي ، لذلك سنضيف للسؤال ليصبح كما تفضل الاخ

اقتباس
اريد ان اضيف شيء على السؤال وارجو ان يعذرني صاحب الموضوع ,

اقترح اضافه:

1. ان ناتج القسمه يكون الاكبر

2. ان منازل العدد غير متشابهه

3. 1 + 2 معا.

4. وقت الحساب time complexity

وبانتظار الاجابات :)

#7
firass88 كتب:
public class math {
  public static void main(String[] args){
	System.out.println("math Q.");
	int max = 0;
	int maxIndex = 0;
	int sumDigits = 1;
	int result = 0;
	int a,b, c;

تصحيح:

اقتباس
int maxIndex=100

اقتباس
for(int i = 1; i < 1000; i++){

تصحيح:

for(int i = 100; i < 1000; i++){

AHMED2ALL/at\Hotmail.com

#8

شو ممتع هالمنتدى والالغاز

#9

أخي الكريم جرب العدد 423 واخبرني

الله هو الموفق لسواء السبيل

#10

اكبر عدد مون من 3 خانات مختلفة و يقبل القسمة على مجموع خاناته هو 972

جربتها بالكود

من قال لا إله إلا الله صادقا دخل الجنة

موقعي للتعارف و تبادل الأخبار http://www.xybond.com

#11

العدد الصحيح هو 910 و سوف ارفع لكم البرنامج vb بعد قليل

______________________________________________

" حَافِظُوا عَلَى الصَّلَوَاتِ وَالصَّلاةِ الْوُسْطَى وَقُومُوا لِلَّهِ قَانِتِينَ "

______________________________________________

تحرير بواسطة 'بنهاشم منصوري'

#12

اكبر عدد مكون من 3 خانات مختلفة يقبل القسمة على مجموع خاناته بدون باقي وله اكبر ناتج قسمة هو : 910

البرنامج جاهز بالمرفقات

j = 0
For i = 100 To 999
a = Mid(i, 1, 1)
b = Mid(i, 2, 1)
c = Mid(i, 3, 1)
f = Val(a) + Val(b) + Val(c)
If Val(a) <> Val(b) And Val(a) <> Val(c) And Val(b) <> Val(c) And i Mod (f) = 0 Then
k = i / f
If k > j Then
j = k
t = i
End If
End If
Next i
Text1 = t

vb.zip

______________________________________________

" حَافِظُوا عَلَى الصَّلَوَاتِ وَالصَّلاةِ الْوُسْطَى وَقُومُوا لِلَّهِ قَانِتِينَ "

______________________________________________

تحرير بواسطة 'بنهاشم منصوري'

#13

كان فيه خطا في الملف المرفق السابق وهذا مصحح

vb.zip

______________________________________________

" حَافِظُوا عَلَى الصَّلَوَاتِ وَالصَّلاةِ الْوُسْطَى وَقُومُوا لِلَّهِ قَانِتِينَ "

______________________________________________

تحرير بواسطة 'بنهاشم منصوري'

#14

الأخ الفاضل شكرا على هذا اللغز وفى انتظار المزيد

اليك حل آخر بإستخدام الفيجوال بيزك

For s = 987 To 100 Step -1
	a = s \ 100
	b = (s - a * 100) \ 10
	If a = b Then GoTo 5
	c = (s - a * 100 - b * 10)
	If a = c Or b = c Then GoTo 5
	If s \ (a + b + c) = s / (a + b + c) Then MsgBox "اكبر رقم مكون من ثلاث ارقام مختلفة يقبل القسمة على مجموع الإعداد المكونة له هو  :  " & vbCrLf & s, vbMsgBoxRight + vbMsgBoxRtlReading, "عبدالفتاح": Exit Sub
5:
Next s

كن كالنخيل عن الأحقاد مرتفعا .. يرمى بصخر فيرمى أطيب الثمر

#15

972 هو الحل

و انا برضو جربتها بفجوال بيسك و ليس 910

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

تم تعديل هذه المشاركة بواسطة hishamnasr في 19 أبريل 2007 في 11:07

من قال لا إله إلا الله صادقا دخل الجنة

موقعي للتعارف و تبادل الأخبار http://www.xybond.com

#16

اكبر عدد مكون من 3 خانات يقبل القسمة على مجموع خاناته بدون باقي قسمة هو : 999

اكبر عدد مكون من 3 خانات مختلفة يقبل القسمة على مجموع خاناته بدون باقي هو : 972

اكبر عدد مكون من 3 خانات مختلفة يقبل القسمة على مجموع خاناته بدون باقي وله اكبر ناتج قسمة هو : 910

______________________________________________

" حَافِظُوا عَلَى الصَّلَوَاتِ وَالصَّلاةِ الْوُسْطَى وَقُومُوا لِلَّهِ قَانِتِينَ "

______________________________________________

تحرير بواسطة 'بنهاشم منصوري'

#17

طيب وليه زعلان ..؟!! :angry:

كن كالنخيل عن الأحقاد مرتفعا .. يرمى بصخر فيرمى أطيب الثمر

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

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