/*prnstewart.c实用数字搜索(Steward属性)**用法:*prnstewart MAXI>数据文件*et-si la dernière ligne de datafile est:rang-nombre*关于鲍苏因斯:*prnstewart rang nombre MAXI>>数据文件**编译:*gcc-O2-o prnstewart-prnstewart.c;条状prnstewart* *prnstewart.c,版权所有(c)2002 Jean-Paul Davalan。**29900 Concarneau(法国)2002年11月25日欧洲中部时间00:00:09**$修改日期:**prnstewart是自由软件;您可以重新发布和/或修改*它根据由*自由软件基金会;版本2或(根据您的选择)*任何更高版本。**发布prnstewart是为了希望它有用,*但无任何保证;甚至没有*适销性或特定用途的适用性。请参阅*GNU通用公共许可证了解更多详细信息。**您应该已经收到GNU通用公共许可证的副本*与prnsteward一起;请参阅文件COPYING。如果没有,请写信给*自由软件基金会,地址:675 Mass Ave,Cambridge,MA 02139,USA。**杰恩·鲍尔·达瓦兰*/#包括#包括#定义MAXI 100000/*returne l’exposant,le nouveau n,la somme s=1+a+a^2++一个^e*/内联int expos(int*n,int*s,inta){整数i;*s=1;对于(i=0;*n%a==0;i++){*n=*不适用;*s=*s*a+1;}返回i;}/*倒n双(晚餐1)*/内联int pntest(int n){整数k,x,s,somme,u;x=n;睡眠时间=1;对于(k=2;x>=k;k+=(k==2)?1:2) {如果(u=expos(&x,&s,k))==0)继续;如果(k>somme+1)返回0;somme*=s;}返回1;} int main(int argc,char*argv[]){int n,rang=1,mini=2,maxi=maxi;if(argc<=2){printf(“1 1\n”);如果(argc==2)maxi=atoi(argv[1]);}其他{范围=atoi(argv[1]);mini=atoi(argv[2])+1;如果(mini%2==1)mini+=1;如果(argc>3)最大值=atoi(argv[3]);}对于(n=最小;n<=最大;n+=2){如果(pntest(n)==1){rang++;printf(“%d%d\n”,rang,n);}}返回0;}