الخوارزميات و هياكل البيانات التحدي التاسع - حل التمرين الخامس بلغة C++

المطلوب

أكتب برنامج يطلب من المستخدم إعطائه عدد صحيح أكبر من 2 و خزنه في المتغير n.
بعدها يقوم بطباعة جميع الأعداد الأولية ( Prime Numbers ) الموجودة بين 2 و n.

معلومة: العدد الأولي هو العدد الذي يقبل القسمة على نفسه و على 1 فقط مثل الأرقام 1 - 3 - 5 - 7 - 11 - 13 - 17 إلخ..


الحل بلغة C++

#include <iostream>

int main() {
	
	int n;
	bool isPrime;
	do {
		std::cout <<("Enter a number: ");
		std::cin >> n;
	}
	while (n <= 1);

	std::cout << "All prime numbers between 2 and " << n << ": ";

	for (int i = 2; i <= n; i++)
	{
		isPrime = true;

		for (int j = 2; j <= i / 2; j++)
		{
			if (i % j == 0)
			{
				isPrime = false;
				break;
			}
		}

		if (isPrime)
		{
			std::cout << i << " ";
		}
	}

	char end; std::cin >> end;
	return 0;

}
		

سنحصل على النتيجة التالية إذا قام المستخدم بإدخال الرقم 12 عند التشغيل.

Enter a number: 12
All prime numbers between 2 and 12: 2 3 5 7 11 
		

الدورات

أدوات مساعدة

أقسام الموقع

دورات
مقالات كتب مشاريع أسئلة