C++实现素数生成,支持大数值


理论上自持的位数无限制,但由于用于存储数据的txt有容量限制,因此有最大数值限制。 算法并不是利用n/2的数字循环,而是用其中包含的素数循环,因此次数大大减小,同时,当数值越大时,效果越明显。 将程序一直打开即自动生成素数。
资源截图
代码片段和文件信息
#include “EvilMath.h“
void main()
{
vector number1resultnumber0result2result1numbernumber2;
vector num;
number.push_back(50);
char k;
long int i=0j=0m=0n=0d=0a=0x=0;
i=0;
cout<<“素数生成系统  2.6完全版<平衡门·堕之翼>
“;
getch();
cout<<“数据导入中……
“;
ifstream in1(“indata.txt“);
ifstream in2(“outdata.txt“);
if(!in1)
{
cout<<“data.txt读取文件失败“;
getch();
exit(0);
}
while(in1)
{
in1>>k;
number1.push_back(k);
}
if(!in2)
{
cout<<“data.txt读取文件失败“;
getch();
exit(0);
}
while(in2)
{
in2>>k;
number0.push_back(k);
if(k==‘*‘)
num.push_back(i);
i++;
}
m=number1.size();
number1.resize(m-1);
m=number0.size();
number0.resize(m-1);
m=num.size();
num.resize(m-1);
cout<<“数据计算中,按任意键退出……
“;
while(1)
{
a=num.size()-1;
d=1;
x=(number1.size()+1)/2+1;
for(i=0;i {
number2.resize(0);
result1.resize(0);
for(j=num[i]+1;j number2.push_back(number0[j]);
if(number2.size()==x)
break;
BIGDIVI(number1number2result1);
BIGMULT(number2result1result2);
BIGSRB(number1result2result);
if(result.size()==1&&result[0]==‘0‘)
{
d=0;
break;
}
}
if(d==1)
{
for(j=0;j number0.push_back(number1[j]);
number0.push_back(‘*‘);
m=num[num.size()-1];
n=number1.size()+1;
num.push_back(m+n);
}
BIGADD(number1numbernumber1);
if(number1[number1.size()-1]==‘5‘)
number1[number1.size()-1]=‘7‘;
if(kbhit())
break;
}
cout<<“素数数量为:“< cout<<“数据导出中……
“;
ofstream out(“outdata.txt“);
for(j=0;j out< ofstream oct(“indata.txt“);
for(i=0;i oct< cout<<“程序结束.
“;
system(“pause“);
}

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       1900  2010-05-31 20:08  素数判断123.cpp

     文件       3365  2010-05-31 20:08  素数判断123.dsp

     文件        531  2010-05-31 20:09  素数判断123.dsw

     文件      50176  2010-05-31 20:09  素数判断123.ncb

     文件      48640  2010-05-31 20:09  素数判断123.opt

     文件       1577  2010-05-31 20:08  素数判断123.plg

     文件     573532  2010-05-31 20:08  素数判断Debug123.exe

     文件     843228  2010-05-31 20:08  素数判断Debug123.ilk

     文件     352018  2010-05-31 20:08  素数判断Debug123.obj

     文件    6483672  2010-05-29 19:41  素数判断Debug123.pch

     文件    1180672  2010-05-31 20:08  素数判断Debug123.pdb

     文件          7  2010-06-02 20:37  素数判断Debugindata.txt

     文件     700464  2010-06-02 20:37  素数判断Debugoutdata.txt

     文件     189440  2010-05-31 20:08  素数判断Debugvc60.idb

     文件     159744  2010-05-31 20:08  素数判断Debugvc60.pdb

     文件      10710  2010-05-29 19:40  素数判断EvilMath.h

     文件          4  2010-05-31 20:09  素数判断indata.txt

     文件        987  2010-05-31 20:09  素数判断outdata.txt

     文件        259  2011-06-16 21:44  素数判断ReadMe.txt

     文件       4303  2010-05-26 12:08  素数判断素数判断.dsp

     文件        541  2010-05-26 12:08  素数判断素数判断.dsw

     文件      33792  2010-05-26 12:08  素数判断素数判断.ncb

     文件      48640  2010-05-26 12:08  素数判断素数判断.opt

     目录          0  2011-06-16 21:41  素数判断Debug

     目录          0  2011-06-16 21:44  素数判断

----------- ---------  ---------- -----  ----

             10688202                    25


版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件举报,一经查实,本站将立刻删除。

发表评论

评论列表(条)