Featured image of post C 语言求 2~1000 中的守形数

C 语言求 2~1000 中的守形数

题目

求2~1000中的守形数(若某数的平方,其低位与该数本身相同,则称该数为守形数。如25,252=625,625的低位25与原数相同,则称25为守形数)。

程序

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
#include <stdio.h>
#include <math.h>

int main()
{
	int num, count, tmp, mmy;
	printf("2~1000中的守形数有:");
	for (num = 2; num <= 1000; num++) {
		tmp = num * num - num;
		count = 0;
		mmy = num;
		while (mmy != 0) {
			mmy /= 10;
			count++;
		} //计算 num 位数
		if (tmp % (int)pow(10, count) == 0)
			printf("%d ", num);
	}
	return 0;
}