1183 守形数

来源:互联网 发布:中国移动暂停数据流量 编辑:程序博客网 时间:2024/05/17 06:20
/*若正整数n是它的平方数的尾部,则称n为守形数,又称同构数.例如:6是其平方数36的尾部,76是其平方数5776的尾部,6和76都是守形数.这些也是:6^=3625^2=62576^2=5776376^=141376625^=390625编程技巧:1.传统的用一个计数变量count,然后循环体中一直number/10,count计数,最后的count就是位数2.直接用log函数,位数count=(int)log10(num)+13.用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");elseprintf("No!\n");}return 0;}

0 0