خوارزمية برمجية لفحص وجود رقم في عدد بدون استخدام مصفوفات
بالتأكيد، سأقوم بتوجيهك خطوة بخطوة على كيفية تصميم الخوارزمية التي تقوم بفحص ما إذا كان العدد A يحتوي على العدد B أم لا، دون استخدام مصفوفات أو أي هياكل بيانات متقدمة. سنقوم بالتحقق من كل رقم في A بشكل فردي ومقارنته بالرقم B.
لنبدأ بتعديل الدالة وتوضيح الخوارزمية:
-
فك تشفير رموز JWT باستخدام jwt-decode22/03/2024
-
تحديد فائز مباراة بولينج باستخدام Java11/03/2024
-
كيفية استخدام تعبير الاستطابة في Node.js10/03/2024
c#define _CRT_SECURE_NO_WARNINGS
#include
int containsNumber(int num, int target) {
while (num > 0) {
int digit = num % 10; // احصل على آخر رقم في العدد num
num /= 10; // قم بحذف الرقم الأخير من العدد num
if (digit == target) {
return 1; // إذا كان الرقم المستهدف موجود في العدد، ارجع 1 (صحيح)
}
}
return 0; // إذا لم يتم العثور على الرقم المستهدف، ارجع 0 (خاطئ)
}
int main(void) {
int num, target;
printf("الرجاء إدخال العدد الأول: ");
scanf("%d", &num);
printf("الرجاء إدخال العدد الثاني: ");
scanf("%d", &target);
int result = containsNumber(num, target);
printf("النتيجة: %d\n", result);
return 0;
}
في هذا الكود، تم إضافة دالة containsNumber
التي تأخذ رقمين وتقوم بالتحقق مما إذا كان الرقم الثاني موجود في الرقم الأول. تستخدم الدالة حلقة while
لفحص كل رقم في العدد الأول بشكل فردي وتقارنه بالرقم الثاني. إذا تم العثور على الرقم، يتم إرجاع 1، وإلا يتم إرجاع 0.
يرجى تجربة هذا الكود وإعلامي إذا كنت بحاجة إلى مساعدة إضافية أو توضيح في أي جزء من الخوارزمية.
المزيد من المعلومات
بالطبع، سأقدم مزيد من التوضيح حول الكود وكيف يعمل الخوارزمية.
-
دالة
containsNumber
:- تبدأ الدالة بحلقة
while
تستمر حتى يصبح العدد الأولnum
أقل من أو يساوي صفر. - في كل تكرار، يتم الحصول على آخر رقم في العدد
num
باستخدامnum % 10
. - يتم حذف الرقم الأخير من
num
باستخدامnum /= 10
. - يتم مقارنة الرقم المحصل مع الرقم الثاني
target
. إذا كانا متساويين، يتم إرجاع 1. - إذا انتهت الحلقة دون العثور على الرقم، يتم إرجاع 0.
- تبدأ الدالة بحلقة
-
الدالة
main
:- يُطلب من المستخدم إدخال العدد الأول (
num
) والعدد الثاني (target
). - يتم استدعاء الدالة
containsNumber
وتمرير العدد الأول والعدد الثاني إليها. - الناتج يخزن في متغير
result
. - يتم طباعة النتيجة.
- يُطلب من المستخدم إدخال العدد الأول (
-
مثال:
- إذا قام المستخدم بإدخال
num = 2452325678
وtarget = 7
، ستعود الدالة بقيمة 1 لأن الرقم 7 موجود في العدد 2452325678. - إذا قام بإدخال
num = 2134
وtarget = 5
، ستعود الدالة بقيمة 0 لأن الرقم 5 غير موجود في العدد 2134.
- إذا قام المستخدم بإدخال
هذا الكود يعتمد على مفهوم بسيط وفعّال للتحقق من وجود رقم في عدد بدون استخدام مصفوفات أو هياكل بيانات متقدمة. إذا كانت هناك أي استفسارات إضافية أو توضيحات تحتاجها، فلا تتردد في طرحها.