满意答案
wenlu924
2013.09.10
采纳率:52% 等级:11
已帮助:8439人
#include
#include
int TS(long int x)
{
long int b,n;
int i,j,k;//不必定义为long
int jinz;
int z,y,a[21];//1000000的十进制数转为二进制有20位,数组不用定义很大
z=0;
for(jinz=2;jinz<=10;jinz++)//变量i在里面有使用,这里需换用变量jinz
{
j=0;
y=0;
b=x;//要保持x值
do
{
n=b/jinz;
a[j]=b%jinz;
j++;
b=n;
}while(n!=0);
for(i=0,k=j-1;i=0;i++,k--)
{
if(a[i]==a[k])//条件判断用“==”
y++;
}
if(y==j)//条件判断用“==”
z++;
}
if (z>=2)
return 1;
else
return 0;
}
long int main(int argc, char *argv[])
{
long int s,p;
int q;
printf("shu ru s ∈[0,1000000]\n");
scanf("%ld",&s);
q=0;
p=s+1;
while(q<1&&p<=1000000)//加入条件p<=1000000,防止死循环
{
if(TS(p))
q=q+1;
else
p=p+1;
}
if(p>1000000)
printf("FAILURE!");//增加检测失败提示
else if(q>=1)
printf("%ld\n",p);
system("PAUSE");
return 0;
}
鉴定完毕。
11分享举报