#include <iostream>
#include <list>
#include <stack>
using namespace std;
int Create_Prime(int prime[],int n,int total)
{
register int i,j,gab,count;
gab=2;
for (i=7; i<=n; i+=gab)
{
count=1;
gab=6-gab;
for (j=0; prime[j]*prime[j]<=i; j++)
{
if (i%prime[j]==0)
{
count=0;
break;
}
}
if (count)
{
prime[total]=i;
total++;
}
}
return total;
}
int main()
{
stack<int> s;
int prime[30000]={2,3,5};
int total=3;
int i,r,tmp;
int n=200000;
total=Create_Prime(prime,n,total);
for (i=0; i<total; i++)
{
tmp=prime[i];
while (prime[i]!=0)
{
r=prime[i]%2;
prime[i]/=2;
s.push(r);
} //二进制格式输出
cout<<"\t";
while (!s.empty())
{
cout<<s.top();
s.pop();
}
cout<<"\t";
printf("%d",tmp);
if (i&&!(i%10))
{
putchar('\n');
}
putchar('\n');
}
return 0;
}
没有评论:
发表评论