c语言寻找同构数

题目要求:

正整数n若是它平方数的尾部,则称n为同构数。例如,6是其平方数36的尾部,76是其平方数5776的尾部,因此6与76都是同构数。编写一个程序,找出1000以内的同构数。

题目分析:

本题最直观的解法是使用穷举法,在1~1000的正整数中进行搜索,判断每一个数是否是同构数,如果是则将其输出,如果不是则跳过此数,继续向下寻找,直到判断完这999个数为止。

#include "stdio.h"

int func(int i)
{
	int j;
	for(j=10;j<1000;j=j*10)
	{
		if(i/j == 0)
			break;
	}
	if((i*i)%j == i)
		return 1;
	else
		return 0;
}
void gettonggou()
{
	int i;
	for(i=1;i<=1000;i++)
	{
		if(func(i))
			printf("%d ",i);
	}
}

main()
{
	printf("The Tonggoushu bellow 1000 are
");
	gettonggou();
	printf("
");
	getche();
}

运行结果:

c语言寻找同构数

运行结果

发表评论
留言与评论(共有 0 条评论) “”
   
验证码:

相关文章

推荐文章