可以推断出或证明外星人到底存不存在的算法

dowms22 2006-02-21 05:53:51
各位大哥说说看,题目如上。

这个软件要什么写,提供点思路。我觉得应该是理散数学中的推理题



计算出一个包括指定数目在内的所有质数。 例:如果输入11,那么,包括11在内的所有质数为:2,3,5,7,11,也就是说一共有5个质数。
能够显示出计算结果内最大的质数。 如上例,最大的质数是11。
...全文
436 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
ywchen2000 2006-02-25
  • 打赏
  • 举报
回复
char a;
cout<<"你是外星人吗?[Y] or [N]"<<endl
cin>>a;
if(a=='Y' || a=='y')
cout<<"外星人会C++吗?你怎么知道的,显然你撒谎,你不是外星人"<<endl;
else
cout<<"对,你不是外星人"<<endl;
cout<<"所以外星人是不存在的"<<endl;
逸学堂 2006-02-25
  • 打赏
  • 举报
回复
求解素数几种方法(4种方法)
http://www.exuetang.net/article/View.aspx?NewsID=191
forenrol 2006-02-23
  • 打赏
  • 举报
回复
to hai1039(天下):

外星人能给注视一下,谢谢。
dowms22 2006-02-23
  • 打赏
  • 举报
回复
TO wfwsm(白菜)
你的方法会有问题,比如说 11,13的倍数呢,这也要拿到的

我的做法是用筛除法, 先拿到偶数,剩余的都是奇数了,然后再用3 5 7。。。去除
除到根号N就可以了。不过这种方法还是可以改进的,比如说,除了3以后,那9,15,21就不需要再除了,这样可以减少循环的次数

各位有没别的更好的方法呀???
wfwsm 2006-02-22
  • 打赏
  • 举报
回复
2 3 5 7 中把2 除掉
wfwsm 2006-02-22
  • 打赏
  • 举报
回复
1.除2以外 偶数都不是质数

2。再第一步的前提下,除自身以外,不能被 2,3,5,7整除的是质数

呵呵
不知分析对不对!!楼主在想想



hai1039 2006-02-22
  • 打赏
  • 举报
回复
改了下

//---------------------------------------------------------------------------
#include "UniversalConstants.h"
#include "UniversalEquations.h"

bool IsAlienExisting()
{
const INT512 TICKS_IN_UNIVERSAL_AGE = UNIVERSAL_AGE / LENGTH_OF_TICK;
const FLOAT512 EPSILON = 1e-40;
const INT512 NUMBER_OF_PARTICLES = (INT512) 1e100;

class UNIVERSE myUniverse;
class UNIVERSE currUniverse(SET_CURRENT_UNIVERSE);

INT256 UniversalAgeTick;
PLACE PlaceOfLife;
bool bAlienExists = false;

myUniverse->SetParticles(NUMBER_OF_PARTICLE);

do{
myUniverse->PickupRandomStatusBeforeBigBang();

UniversalAgeTick = 0;
do{
myUniverse->IternationForOneTick();
}while(++UniversalAgeTick < NUMBER_OF_TICKS_IN_UNIVERSAL_AGE );

}while(CompareUniverses(myUniverse,CurrentUniverse) < EPSILON);

while( NULL != (PlaceOfLife = myUniverse->LocateNextLife())
{
if(PlaceOfLife != EARTH)
{
bAlienExists = true;
}
}

return(bAlienExists);
}
//---------------------------------------------------------------------------
hai1039 2006-02-22
  • 打赏
  • 举报
回复
求外星人的函数

//---------------------------------------------------------------------------
#include "UniversalConstants.h"
#include "UniversalEquations.h"

..............


bool IsAlienExisting()
{
const INT512 TICKS_IN_UNIVERSAL_AGE = UNIVERSAL_AGE / LENGTH_OF_TICK;
const FLOAT512 EPSILON = 1e-40;
const INT512 NUMBER_OF_PARTICLES = (INT512) 1e100;

class UNIVERSE myUniverse;
class UNIVERSE currUniverse(SET_CURRENT_UNIVERSE);

INT256 UniversalAgeTick;
bool bAlienExists = false;

do{
myUniverse->SetParticles(NUMBER_OF_PARTICLES);
myUniverse->PickupRandomStatusBeforeBigBang();

UniversalAgeTick = 0;
do{
myUniverse->IternationForOneTick();
}while(++UniversalAgeTick < NUMBER_OF_TICKS_IN_UNIVERSAL_AGE );

}while(CompareUniverses(myUniverse,CurrentUniverse) < EPSILON);

return(myUniverse->LocateLife());
}
//---------------------------------------------------------------------------
  • 打赏
  • 举报
回复
质数8难,
和外星人不熟.
iamcaicainiao 2006-02-22
  • 打赏
  • 举报
回复
质数8难,
外星人8会
dowms22 2006-02-22
  • 打赏
  • 举报
回复
求质数实现方法有好几种,最主要的是程序执行的效率问题

用什么方法可以让程序的执行效率最高
SammyLan 2006-02-21
  • 打赏
  • 举报
回复
从大到少一个个枚举
找到第一个质数就是最大的一个 (=_=)
klkkklkl 2006-02-21
  • 打赏
  • 举报
回复
int* pn;
int nb;
bool ispn(z)
{
int q;
if(z=2)
return true;
q=sqrt(z);
int i=0;
while(q<pn[i])
{
if(!z%pn[i]) //只和质数进行整除运算
return true;
i++;
}
return false;
}
main()
{
int n;
int z;
cin>>n;
pn=malloc(n*sizeof(int));
nb=0;
while(z<n)
{
if(ispn(z))
{
pn[i]=z;
cout<<z<<"\r\n;"
nb++;
}
z++;
}
}

可以不
du51 2006-02-21
  • 打赏
  • 举报
回复
#include<iostream>
#include<cmath>
using namespace std;
int prime(int n)
{
int i,temp;
if(n<2)return 0;
if(n==2)return 2;
if(n%2==0)n--;
for(;n>2;n-=2)
{
temp=(int)(sqrt((double)n));
for(i=3;i<=temp;i+=2)
{
if(n%i==0)break;
}
if(i>temp)return n;
}
return 0;
}
int main()
{
int n;
cout<<"请输入"<<endl;
cin>>n;
if(prime(n))cout<<prime(n)<<endl;
system("PAUSE");
return 0;
}
chenzhichao2008 2006-02-21
  • 打赏
  • 举报
回复
楼主做的是“厦门软件园,菊花仙子”面试题呵呵
ckp 2006-02-21
  • 打赏
  • 举报
回复
关注中

64,637

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧