C语言“自守数”问题
2016-04-07 23:28
162 查看
#include <stdio.h> void main() { //巧妙的绕过了 计算平方的过程,因为太大的数字平方超出了范围。 long mul,number,k,a,b; printf("将输出100000以内的自守数:\n"); for(number=0; number<100000; number++) { for(mul=number,k=1; (mul/=10)>0; k*=10) ; //k得到的值为mul或是number的权数,用于后面数字的截取 a=k*10; mul=0; b=10; while(k>0) { mul=(mul+(number%(k*10))*(number%b-number%(b/10)))%a; k/=10; b*=10; } if(number==mul) printf("%ld \n",number); } }
相关文章推荐
- C++作业3
- c++第3次实验-个人所得税计算器
- 第2课 C 到 C++ 的升级
- onvif学习笔记7:一个C++封装的onvif代码的阅读笔记
- C++函数后面加const关键字
- 关于C语言的问卷调查
- C++ 流输入输出运算符重载
- C++实验3—个人所得税计算器
- --------关于C语言的问卷调查-----------
- 关于C语言的问卷调查
- 关于C语言的问卷调查
- 以c++的方式实现单链表
- C++四则运算代码
- C++ Primer Plus (第6版)课后习题答案 第二章
- C++基本知识
- Majority Element
- list不能使用STL算法sort()
- C++命名空间
- 关于C语言的问卷调查
- c++中union的使用,看高手们如何解释的