c语言求所有的守形数

Python019

c语言求所有的守形数,第1张

#include<stdio.h>

#include<math.h>

int shouxing(){

int i,n,c

c=0

printf("守形数有:")

for(i=2i<1001i++){

n=pow(i,2)

if(i<10 &&n%10 == i){//一位数守形数

printf("%d,",i)

c++

}

else if(i<100 &&n%100==i){//二位数守形数

printf("%d,"i)

c++

}

else if(i<1000 &&n%1000 == i){//三位数守形数

printf("%d,"i)

c++

}

else{//1000不是守形数

printf("共计%d个",c)

}

}

return 1

}

#include

#define

M

2

#define

N

1000

main()

{

int

num,count=0,i,j,lenth=0

printf("从%d到%d之中的守形数有:\n",M,N)

for(i=Mi<=Ni++)

{

num=i

j=1

while(num!=0)

{

num=num/10

lenth++

}

while(lenth!=0)

{

j=10*j

lenth--

}

if((i*i-i)%j==0)

{

printf("%d\t",i)

count++

}

}

printf("\n共计%d个",count)

}

//若正整数n是它的平方数的尾部,则称n为守形数,又称同构数。

//例如:6是其平方数36的尾部,76是其平方数5776的尾部,6和76都是守形数。

#include<stdio.h>

int main()

{

int i

for(i=2i<=1000i++)

{

if(i<10)

{

if(i==(i*i)%10) //%号是取余数,直接比对余数是否和i相等即可

{

printf("%d*%d=%d\n",i,i,i*i)

//输出格式可以自己随便改,如printf("%d\n",i)

//我这样写只是方便你理解

}

}

else if(i>=10 && i<100)

{

if(i==(i*i)%100)

{

printf("%d*%d=%d\n",i,i,i*i)

}

}

else

if(i==(i*i)%1000)

{

printf("%d*%d=%d\n",i,i,i*i)

}

}

return 0

}

//运行截图: