حدس گلدباخ
این برنامه برنامه خوب و جالبیه ... این برنامه درستی حدس گلدباخ رو درباره عددی که شما بهش میدین نشون میده ...
اما اگه کسی نمیدونه حدس گلدباخ چیه ...
==========
حدس گلدباخ :
هر عدد زوج بزرگتر از 4 رو میتوان به صورت مجموع 2 عدد اول (2 عدد تکراری و یا غیر تکرارای) نوشت .
هر عدد فرد بزرگتر از 5 را میتوان به صورت مجموع 3 عدد اول (3 عدد تکراری و با غیر تکراری) نوشت .
==========
حالا برنامه چی کار میکنه ...
این برنامه یک عدد بزرگتر از 5 از شما میگیره و بعد اون عدد شما رو اگر فرد باشه بصورت حاصلجمع 3 عدد اول ، و اگر زوج باشه به صورت حاصلجمع 2 عدد اول می نویسه و به شما میگه ... (به توضیحات بالا توجه کنن ! )
#include<iostream.h>
#include<conio.h>
#include<stdlib.h>
main()
{
int co=0,w=0,q=0,pn[999],a=0,num=0,e=0;
error:
cout<<"Please insert a number (Please attention that it must be bigger than 5) : "<<"\n";
cin>>num;
if(num<=5)
{
clrscr();
cout<<"The number you enter must be 6 or bigger to continue ! OK ?"<<"\n";
num=0;
goto error;
}
for(long int i=2;i<=num;i++)
{
for(long int j=1;j<=i;j++)
{
if((i%j)==0)
co++;
}
if(co==2)
{
pn[a]=i;
co=0;
a++;
}
else
co=0;
}
if((num%2)==0)
{
for(int u=0;u<=a;u++)
{
for(int o=0;o<=u;o++)
{
w=pn[u];
q=pn[o];
if((w+q)==num)
{
cout<<"********************"<<"\n"<<w<<" + "<<q<<" = "<<num<<"\n";
getch();
exit(1);
}
}
}
}
else
{
for(int u=0;u<=a;u++)
{
for(int o=0;o<=u;o++)
{
for(int p=0;p<=o;p++)
{
w=pn[u];
q=pn[o];
e=pn[p];
if((w+q+e)==num)
{
cout<<"********************"<<"\n"<<w<<" + "<<q<<" + "<<e<<" = "<<num<<"\n";
getch();
exit(1);
}
}
}
}
}
}
در ضمن یادتون نره که این برنامه یکم سنگینه و سعی کنن عدد های خیلی گنده بهش ندن ...
کامپایل رفته تحت Turbo C++ 4.5 !