找出1至10000之间的全部同构数的C语言程序例如:5是25右边的数,25是625右边的数,5和25都是同构数数*/include<stdio.h>intmain(){longi,j,k;k=10;for(i=1;i<=10000;i++){if(i==k)k*=10...
include<stdio.h>intIsTongGou(inta){//判断是否同构intb=a*a;while(a!=0){if(b%10!=a%10){return0;}else{b=b/10;a=a/10;}}return1;}intmain()...
Math库里的pow函数的返回类型是一个精度浮点数。你在isomorphism函数中直接另mod为整型实际上损失了你后来的pow(10,a)的精度。就比如说pow(10,2)的返回值是一个99.xxxxxxx的数,然后你直接int了,所以在位数等于2时,...
include<iomanip.h>intmain(){inti,j,m,n,x,y,z,k,a;for(i=1;i<=9;i++)//判断1-9之间同构数{m=i*i;n=m-i;if(n%10==0)cout<<setw(4)<<i;}for(j=10;j<=99;j++)//判断10-99...
intmain(void){inti;for(i=1;i<100;i++)if(i==(i*i)%(i<10?10:100))printf("%d",i);return0;}//---
我简单写下,请借鉴:intx=76;if(x*x100==x)puts("同构数");//数的平方取100的余数,相对于求后两位的结果
printf("求[1,10000]中的同构数:\n");for(a=1;a<=10000;a++){ultoa(a,as,10);/*数a转换为字符串,存入as*/len=strlen(as);ultoa(a*a,ms,10);if(strcmp(as,right(ms,len))==0)/*比较...
intmain(){longi,j,n=0,k=10;/*i为测试的数字,就是1-10000,n用来记录同构数的次数,其他的能不能理解就看你了*/for(i=1;i<=10000;i++){if(i==k)k=k*10;j=i*i;if(j%k==i)n++;}prin...
intfun(intx){inta,b=10,c=0;a=x;while(a/10!=0){b*=10;a/=10;}/*判断x是几位数*/a=x*x;c=(a%b==x)?1:0;returnc;}参考资料:如果您的回答是从其他地方引用,请表明出处...
include<string.h>char*right(char*ms,intlen);/*截取一个字符串尾为len个字符的子串*/voidmain(){longa;intlen;charas[10];charms[20];printf("求[1,10000]中的同构数:\n");for(a...