1个回答
展开全部
#include <stdio.h>
int isPNum(int num);//判断是否是完数,是返回1,否返回0
int isPRnumber(int num);//判断回文数,是返回1,否返回0
int isPRINumber(int num);//判断素数,是返回1,否返回0
int main()
{
int num;
while(1)
{
scanf("%d",&num);
printf("%d%s完数!\n",num,isPNum(num)?"是":"不是");
printf("%d%s回文数!\n",num,isPRnumber(num)?"是":"不是");
printf("%d%s素数!\n\n",num,isPRINumber(num)?"是":"不是");
}
return 0;
}
int isPNum(int num)//判断完数
{
int i,sum=0;
for(i=1;i<num;i++)
{
if(num%i==0)
sum+=i;
}
if(sum==num)
return 1;
return 0;
}
int isPRnumber(int num)//判断回文数
{
char str[100]={0},*p=str,*p2=str;
while(num>0)
{
*p=num%10+'0';
num=num/10;
p++;
}
while(p2<p)
{
p--;
if(*p!=*p2)
return 0;
p2++;
}
return 1;
}
int isPRINumber(int num)//判断素数
{
int i;
for(i=2;i<num;i++)
{
if(num%i==0)
return 0;
}
return 1;
}
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询