程序求质数问题

[复制链接]
 楼主| txcy 发表于 2012-4-17 18:54 | 显示全部楼层 |阅读模式
程序如下:
#include<iostream>
using namespace std;
int IsPrime(int a,int b)
{
if(a==b)
return 1;
if(a%b==0)
return 0;
else
return IsPrime(a,++b);  
}
void main()
{

cout<<2<<" ";
  for(int i=2;i<=100000;i++)
if(i%2!=0)
if(IsPrime(i,2))
cout<<i<<" ";
cout<<endl;
system("pause");
}
为什么只计算到 11261 程序就终止了?
pkat 发表于 2012-4-17 19:08 | 显示全部楼层
递归调用太多,堆溢出了
vivilzb1985 发表于 2012-4-17 21:44 | 显示全部楼层
同意二楼的说法,堆栈溢出的话,继续执行是不会得到你想要的接过了的啊
火箭球迷 发表于 2012-4-18 18:27 | 显示全部楼层
应该是堆溢出了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

274

主题

2106

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部

274

主题

2106

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部