C语言求同构数

[复制链接]
查看11 | 回复1 | 2017-12-15 09:19:13 | 显示全部楼层 |阅读模式
正整数n若是它平方数的尾部,则称n为同构数。例如,6是其平方数36的尾部,76是其平方数5776的尾部,6与76都是同构数。
试求指定位数的同构数序列。

回复

使用道具 举报

千问 | 2017-12-15 09:19:13 | 显示全部楼层
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<st...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行