/*Case 9
自守数
某个数的平方等于该数本身
求0~10000的所以自守数*/
#include <math.h>
int main() {
int i,a, k, m;
for ( i = 1; i <= 10000; i++)//在1-10000内依次检验
{
a = i;
a *= a; //求出i的平方
k = log10(i) + 1; //求出i的位数k
for ( m = 1; k ; k--) //看不明白
{
m *= 10; //看不明白
}
a %= m; //通过取余找出尾数
if (a==i) //判断i的平方的尾数是否等于i
{
printf("%d\n",i);
}
}
return 0;
}
C语言程序设计自守数问题部分代码不理解
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
3条回答 默认 最新
- CSDN专家-深度学习进阶 2022-03-28 13:03关注
自守数 是指一个数的平方的尾数等于该数自身的自然数
他先用 k = log10(i) + 1;求出位数,m从1到k循环每次m乘10,比如i=1234 那么m=10000
a此时等于i的平方,1234* 1234=1,522,756 用a对m求余看和i本身是否相等,1,522,756对1000求余就是后四位
是就是自首数本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用
悬赏问题
- ¥15 腾讯云如何建立同一个项目中物模型之间的联系
- ¥30 VMware 云桌面水印如何添加
- ¥15 用ns3仿真出5G核心网网元
- ¥15 matlab答疑 关于海上风电的爬坡事件检测
- ¥88 python部署量化回测异常问题
- ¥30 酬劳2w元求合作写文章
- ¥15 在现有系统基础上增加功能
- ¥15 远程桌面文档内容复制粘贴,格式会变化
- ¥15 这种微信登录授权 谁可以做啊
- ¥15 请问我该如何添加自己的数据去运行蚁群算法代码