#include<stdio.h>
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("0 退出\n1 回文数\n2 素数\n3 亲密数\n4 水仙花数 \n");
printf("请输入你的选择:");
scanf("%d",&n);
printf("请输入你所要计算的范围:");
scanf("%d",&e);
switch(n)
{
case 0:printf(""); return;
case 1:huiwenshu(e); break;
case 2:sushu(e); break;
case 3:qinmishu(e); break;
case 4:shuixianhuashu(e); break;
}
}
return 0;
}