هذا هو حل الشؤال اللي طفش الجميع
كان سهل بس مع الربشة طيرت كم حاجه في السؤال
بصراحة انقهرت على اخطاء بسيطه بسبب الربشة في الاختبار
المهم هذا هو الكود
كود:
#include <stdio.h>
int is_prime(int n)
{
int p;
int c;
c = n %2 ;
if(c==1)
p=1;
else if(n==2)
p=1;
else
p=0;
return p;
}
int main(void)
{
int n;
int p;
printf("enter a number \n");
scanf("%d",&n);
p = is_prime(n);
if (p == 1)
printf("the number is prime \n");
else
printf("the number is not prime \n");
printf("%d \n",p);
return(0);
}
فكرة الاعداد الاولية تعتمد على باقي القسمة اذا كان في باقي قسمه معناته عدد اولي
اذا باقي القسمة 0 معناته عدد غير اولي الا الرقم 2 الباقي صفر وهو عدد اولي لذلك وضعته في شرط لحاله
بالتوفيق للجميع
|
هههههههههههههه حلي يشبه حلك بس يعتبر البرنامج غلط لانك لو ادخلت 9 حيقولك انو prim بس ال 9 ليست prim وعشان كذا انت تحتاج حلقت لوب اتركم مع الحل :
#include <stdio.h>
int main(void)
{
int num , i;
int c = 0;
printf(" Enter a number : ");
scanf("%d",&num);
if (num > 1 ) {
for ( i = 1 ; i <= num ; i++)
{
if (num % i != 0)
c++;
}
if (c> 2)
printf("Not Prime \n");
else
printf("Is prime \n");
return 0;
}
}
العداد الي في الحل يحسب عدد مرات القسمه للعدد المدخل
واحنا نعرف انو الاعداد الاوليه لها عمليتاين قسمه الاولى على نفسها والثانيه على الواحد
الي قهرني انو وانا احل عارف انو في شي ناقص وطلعت حلقت الوب
تحياتي للجميع انشاء تستفيدوا من الحل