码迷,mamicode.com
首页 > 其他好文 > 详细

1183 守形数

时间:2015-03-09 22:36:28      阅读:364      评论:0      收藏:0      [点我收藏+]

标签:c语言   strlen   编程   

/*
若正整数n是它的平方数的尾部,则称n为守形数,又称同构数.
例如:6是其平方数36的尾部,76是其平方数5776的尾部,6和76都是守形数.
这些也是:
6^=36
25^2=625
76^2=5776
376^=141376
625^=390625
编程技巧:
1.传统的用一个计数变量count,然后循环体中一直number/10,count计数,最后的count就是位数
2.直接用log函数,位数count=(int)log10(num)+1
3.用sprintf和strlen函数,sprintf(str,"%d",num),count=strlen(str),
这种直接求长度效率肯定要低很多,但是直接用了库函数不需要自己实现,
如果需要对字符串处理的话,str还是很有价值的
*/
# include <stdio.h>

int quar(int x, int n)
{
	int sum = 1;
	for(int i = 0; i < n; i++)
	{
		sum = sum * x;
	}
	return sum;
}

int main(void)
{
	int i,n,num,pow,count;
	scanf("%d", &n);
	getchar();    //吸收回车符。
	for(i = 0; i < n; i++)
	{ 
		count = 0;
		scanf("%d", &num);
		getchar();    //吸收回车符。
		int temp = num;
		pow = num * num;
		printf("%d", pow);
		while(temp)
		{
			temp = temp / 10;
			count++;
		}
		if((pow % (quar(10, count))) == num)
			printf("Yes!\n");
		else
			printf("No!\n");
	}
	return 0;
}

1183 守形数

标签:c语言   strlen   编程   

原文地址:http://blog.csdn.net/xu758142858/article/details/44160129

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!