求100000以内的|求100000以内的 自守数。
自守数是指一个数的平方的尾数等于该数自身的自然数。
例如:
5^2= 2525^2 = 62576^2 = 57769376^2 = 87909376
在C语言中文网 C语言求自守数 看到了一个例子,觉得是个新思路,自己跟着学习了一下 ,怎么也转不过来那个弯;
于是自己写了一份代码,我感觉思路应该是差不多的,理解起来也更容易一些
就是用原数字的各个位数字单独去乘原数字 得到一个数值,再对其保留位数求模(求模基数为比原数字大的最小的10^n)然后再乘以这个数字所在位的位权 各位就 1 ,十位就10 ,百位就是 100,
然后把所得各数相加,再对其保留位数求模
得数如果和原数字想等那这个数就是自守数
代码如下:(我觉得这样更容易理解)
#include
int main()
{
int number,mul,k,a,b;
for(number=1;
number<=100000;
number++)//遍历各数
{for(a=1,mul=number;
mul>0;
mul/=10)
a*=10;
//计算保留位数求模基数
mul=0;
b=1;
for(k=number;
k>0;
k/=10)//循环求各位数与原数字乘积再求模再乘位权
{
mul=mul+(number*(k%10))%a*b;
a/=10;
//每次循环,求模数,降位
b*=10;
//每次循环,位权数,升位
}
mul%=b;
//所得和 再求模
if(number==mul) printf("%d ",mul);
//满足条件输出
}
}
运行结果:
文章图片
10000000以内的自守数对比:
文章图片
【求100000以内的|求100000以内的 自守数。】
推荐阅读
- 有句话忍很久了,女生要求买房怎么就物质了()
- 基于爱,才会有“愿望”当“要求”。2017.8.12
- 先放下|先放下 ,求一个好心情
- https请求被提早撤回
- 遇到不正当请求怎么办
- 保姆有偿陪伴(雇主要求过分,保姆没自尊,53岁保姆果断离职)
- 【求助】03
- 发火其实是在求救
- 白色情人节小众提案!有求生欲的boy都进来了
- 萌新求答