14.请编写一个函数int fun(int x),它的功能是:

来源:百度知道 编辑:UC知道 时间:2024/05/14 17:22:10
判断整数x是否是同构数。若是同构数,函数返回1;否则返回0。所谓“同构数”是指这样的数,它出现在它的平方数的右边。例如:输入整数5,5的平方数是25,5是25中右侧的数,所以5是同构数,输出"Yes"。要求x的值不大于10000。
int fun(long int x)
{
}
void main()
{int x;
scanf("%d",&x);
if(fun(x)==1)
puts("Yse");
else puts("No");
}

int fun(long x)
{int s,i,n,t=1,k;
if(x<10000)
{ s= x*x;
printf("请说明它是几位数?");
scanf("%d",&n);
for(i=0;i<n;i++)
{t=10*t;
}
k=s%t;
}
if(k==x)
return 1;

else
return 0;

}

下面是另外一种方法
#include"stdio.h"
int fun(long x)
{
if(x<10000)
if(0<=x&&x<10)
return x*x%10==x?1:0;
else
if(x>=10&&x<100)
return x*x%100==x?1:0;
else
if(x>=100&&x<1000)
return x*x%100==x?1:0;
else
return x*x%10==x?1:0;

}