php实现websocket:C语言求同构数
来源:百度文库 编辑:中财网 时间:2024/05/11 18:07:20
C语言求同构数
正整数n若是它平方数的尾部,则称n为同构数。例如,6是其平方数36的尾部,76是其平方数5776的尾部,6与76都是同构数。试求指定位数的同构数序列。
1、算法分析:对指定范围内的每一个整数a,求出其平方,判断a是否是其平方的尾部,通常有以下方法:通过字符串子串比较找出同构数。为了求更高位数的同构数,可应用同构数的以下性质:一个m位同构数的尾部m-1位数也是一个同构数。道理很简单,a是一个m位数,a的平方数尾部的m-1位仅由a尾部的m-1位决定而与a的最高位无关。易知一个同构数有三个:1,5,6,则二位同构数的个位数字只可能是1,5,6这三个数字。根据这一思路,我们可应用递推求出多位同构数串。2.求指定区间内的同构数程序代码如下:#include#include #include char *right(char *ms,int len); /*截取一个字符串尾部长为len个字符的子串*/void main(){long a;int len;char as[10];char ms[20];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) /*比较字符串as与ms长为len的子串是否相等*/printf("%s 其平方为 %s\n",as,ms); /*相等就是同构数,输出结果*/}}char *right(char *ms,int len) /*截取字符串尾部长为len子串的函数*/{int i,j;for(i=0;i<(signed)strlen(ms);ms++);for(j=0;j
C语言求100以内同构数
C语言问题---同构数
C语言编程100以内所有的同构数
vb求同构数
什么是同构数
C语言中如何求任意两数的余数
用c语言编程,求任意10个数中的最大数与最小数之和。
用c语言编程,求任意10个数中的最大数与最小数之和。
C语言“完数”问题
c语言数族问题
用C语言编程,求两个数M和N的公约数.
用C语言编一个程序求一个二维数组各行数求和
c语言:写一个求三个输入数的最大者?
C语言中.输入三个数,x,y,z,求最大值的流程图?有人会画吗??
求c语言教程
求C语言解答
c语言求最小公倍数?
C语言 求结果?
求C语言例程
C语言,急求:
求C语言代码
求c语言一道
求C语言代码
求c语言程序