ورود

نسخه کامل مشاهده نسخه کامل : در خواست کمک



mojibk
07-05-2009, 23:40
لام دوستان من یک برنامه نوشته ام که در ان شما یک عدد مثبت اعداد اولی که که در ان عدد می سود با هم خمع کرد را نمایش می دهد اما با مشکل مواجه شده است اگر از دوستان می تواند ای مشکل را حل کند به من کمک کنید


#include<stdio.h>
#include<conio.h>
#include<math.h>

int IsPrime(int); //returns 1 if prime. returns 0 if not prime.
void main()
{
int i,r,num;
clrscr();
printf ("__________________________________________________ ___________\n");
printf (" This program will calculate all possible combination of two\n prime numbers which produce a given even number. \n");
printf ("__________________________________________________ ___________\n");
printf ("\nPlease input an even number: ");
scanf ("%d",&num); // Getting a number from the user.
if (num%2 != 0) // Checking if the given number is even or not.
{
printf("\n%d is not an even number",num);
getch();
return; //Exit the program.
}
//---------- Start -----------//
/*
This program uses just one 'For' statement
as we know 'A+(B-A)=B' so if 'A' AND '(B-A)'
are prime numbers, they are the answer.
*/
for (i=2;i<=(num/2);i++)
{
if ( IsPrime(i) && IsPrime(num-i) )
{ // If BOTH of them are prime, Show them.
printf ("\n %4d + %4d = %d ",i,(num-i),num);
}
}
printf("\n\n Thanks for using this program.\n Morteza Zafari\n 2001");
getch();
}
//---------- End -----------//
IsPrime(int num)
{
int i;
if (num==1) return(0); //If it's 1, it's not prime.
if (num==2) return(1); //If it's 2, it's prime.
if (num%2==0) return(0); //If it is even then sure it's not prime.
else
{
for (i=2;i<=sqrt(num);i++)
{
if ( (num%i) == 0 ) return(0);
}
return(1);
}
}
با تشکر

CppBuilder2006
11-05-2009, 13:34
به نظر من که برنامه مشکلی نداره
شما چه مشکلی درش پیدا کردید!؟

به نظر من کسی که برنامه رو نوشته خیلی خوب نوشته!

mojibk
12-05-2009, 22:32
سلام دوست من این برنامه در c کار نمی کنه ایا باید اون رو در ++c امتحان کنم

فاطـمه
31-05-2009, 17:47
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
من برنامه رو توی c++ اجرا کردم و هیچ مشکلی نداشت
به نظر نمی یاد دستوری داشته باشه که توی c اجرا نشه