同构数的算法——C语言

it2023-07-19  97

学习目标:

c语言

学习内容:

同构数的算法


编写程序,打印1~999之间的全部同构数。所谓同构数,是指该数出现在它的平方数的右侧。如25^2=625,25出现在625的右端,25就是同构数。 ***输入提示信息:无 ***输入数据格式:无 ***输出提示信息:“Print all the isomorphism between 1-999:\n” ***输出数据格式:"%d " 注:输出提示信息请放在循环体之外 思路是:一个数的本身出现在它的平方数的右侧,那么它的平方数减去这个数的本身,最后的n位一定是0。n就是原数的位数。如评论所言,625是25的平方,那么625-25就等于600最后两位是0。所以只要判断最后n位是否为0就行了。 #include<stdio.h> #include<math.h> int main() { int a=0,b=0,c=0,sqare; int i=0,j=0; printf("Print all the isomorphism between 1-999:\n"); for(i=1;i<1000;i++) { a=i*i; int pow=1; while(pow<=i) pow*=10;//判断有几位是0 if((a-i)%pow==0) printf("%d ",i); } return 0; }

(◦˙▽˙◦)

最新回复(0)