void huiwenshu(int x)
{
int a,b,c,d,e;
printf("输入范围:");
scanf("%d",&x);
printf("\n回文数有:");
for(a=0;a<=x;a++)
{
b=a;
c=0;
while(b!=0)
{
d=b%10;
c=c*10+d;
b=b/10;
}
if(c==a)
printf("%d\t",a);
}
}
void sushu(int x)
{
int a,b,c,d;
printf("输入范围:");
scanf("%d",&x);
printf("\n素数有:");
for(a=x;a>=2;a--)
{
for(b=2;b<a;b++)
{
if(a%b==0)
{
c=1;
break;
}
else
c=2;
}
if(c==2)
printf("%d\t",a);
}
}
void qinmishu(int x)
{
int a,b,c,d,e;
printf("输入范围:");
scanf("%d",&x);
printf("\n亲密数有:");
for(a=0;a<=x;a++)
{
d=0;
for(b=1;b<=a/2;b++)
{
if(a%b==0)
{
d=d+b;
}
}
e=0;
for(c=1;c<=d/2;c++)
{
if(d%c==0)
e=e+c;
}
if(e==a&&a<d)
printf("%d和%d\t",a,d);
}
}
void shuixianhuashu(int x)
{
int a,b,c,d;
printf("输入范围:");
scanf("%d",&x);
printf("\n水仙花数有:");
for(a=2;a<=x;a++)
{
b=a;
c=0;
while(b!=0)
{
d=b%10;
c=c+d*d*d;
b=b/10;
}
if(c==a)
printf("%d\t",a);
}
}
int main()
{
int n;
while(n!=0)
{
scanf("%d",&n);
if(n==1)
{
huiwenshu(n);
}
if(n==2)
{
sushu(n);
}
if(n==3)
{
qinmishu(n);
}
if(n==4)
{
shuixianhuashu(n);
}
printf("\n");
}
return 0;
}
int main()
{
int n;
scanf("%d",&n);
while(n!=0)
{
if(n==1)
{
ap(n);
}
if(n==2)
{
bp(n);
}
if(n==3)
{
cp(n);
}
if(n==4)
{
dp(n);
}
}
}
ap(int x)
{
{
int a,b,c,d,e;
printf("输入范围:");
scanf("%d",&x);
printf("\n回文数有:");
for(a=0;a<=x;a++)
{
b=a;
c=0;
while(b!=0)
{
d=b%10;
c=c*10+d;
b=b/10;
}
if(c==a)
printf("%d\t",a);
}
}
}
bp(int x)
{
int a,b,c,d;
printf("输入范围:");
scanf("%d",&x);
printf("\n素数有:");
for(a=x;a>=2;a--)
{
for(b=2;b<a;b++)
{
if(a%b==0)
{
c=1;
break;
}
else
c=2;
}
if(c==2)
printf("%d\t",a);
}
}
cp(int x)
{
int a,b,c,d,e;
printf("输入范围:");
scanf("%d",&x);
printf("\n亲密数有:");
for(a=0;a<=x;a++)
{
d=0;
for(b=1;b<=a/2;b++)
{
if(a%b==0)
{
d=d+b;
}
}
e=0;
for(c=1;c<=d/2;c++)
{
if(d%c==0)
e=e+c;
}
if(e==a&&a<d)
printf("%d和%d\t",a,d);
}
}
dp(int x)
{
int a,b,c,d;
printf("输入范围:");
scanf("%d",&x);
printf("\n水仙花数有:");
for(a=2;a<=x;a++)
{
b=a;
c=0;
while(b!=0)
{
d=b%10;
c=c+d*d*d;
b=b/10;
}
if(c==a)
printf("%d\t",a);
}
}
void huiwenshu(int x)
{
int a,b,i,sum=0;
printf("回文数有;\n");
for(i=1;i<x;i++)
{
sum=0;
b=i;
while(b)
{
sum=sum*10+b%10;
b=b/10;
}
if(i==sum)
printf("%d\n",sum);
}
}
int sushu(int x)
{
int a,i,j;
printf("素数有:\n");
for(i=2;i<x;i++)
{
for(j=2;j<x;j++)
{
if(i%j==0) break;
}
if(i==j)
printf("%5d",i);
}
printf("\n");
}
void qinmishu(int x)
{
int a,b,c,i,n;
printf("亲密数有;\n");
for(a=1;a<x;a++)
{
for(b=0,i=1;i<=a/2;i++)
if(a%i==0)
b=b+i;
for(n=0,i=1;i<=b/2;i++)
if(b%i==0)
n=n+i;
if(a==n&&a<b)
printf("(%d,%d)\n",a,b);
}
}
void shuixianhuashu(int x)
{
int a,b,c,n;
printf("水仙花数有; \n");
for(n=100;n<=x;n++)
{
a=n/100;
b=(n%100)/10;
c=n%10;
if(a*a*a+b*b*b+c*c*c==n)
printf("%d\n",n);
}
}
int main()
{
int n,e;
while(1)
{
printf("请输入你想要的范围:");
scanf("%d",&e);
printf("0 退出\n1 回文数\n2 素数\n3 亲密数\n4 水仙花数 \n");
printf("请输入你想要的范围:");
scanf("%d",&n);
switch(n)
{
case 0:printf(""); break;
case 1:huiwenshu(e); break;
case 2:sushu(e); break;
case 3:qinmishu(e); break;
case 4:shuixianhuashu(e); break;
}
}
return 0;
}