自守数算法:C语言实现
程序员文章站
2022-05-16 10:10:31
#include
//自守数算法
//ep : 25 ^ 2 = 625 76 ^ 2 = 5776 9376 ^ 2 = 87909376
/*ep :
* 376...
#include //自守数算法 //ep : 25 ^ 2 = 625 76 ^ 2 = 5776 9376 ^ 2 = 87909376 /*ep : * 376 被乘数 * *376 乘数 * ------ --------- * 2256 第一个部分积=被乘数*乘数的倒数第一位 * 2632 第二个部分积=被乘数*乘数的倒数第三位 * 1125 第三个部分积=被乘数*乘数的倒数第三位 *-------- * 141376 将以上的部分积的后3位求和后截取后3位就是3位数乘积的后3位。 */ /*由number的位数确定截取数字进行乘法时的系数k*/ #define forech_bit_num(mul,number,k) \ for(mul=number,k=1;(mul/=10)>0;k*=10) ; //在0~xxxx这些数中寻找自守数 #define forech_number(number,num) \ for(number=0;number 0) { automorphic_number(mul,number , k ,ll ,kk); k/=10; /*k为截取被乘数时的系数*/ ll*=10; } if(number==mul){ /*判断若为自守数则输出*/ printf("%ld ", number); } } } int main(void) { print_automorphic_number(1000); return 0 ; }
上一篇: IOS开发--支付宝支付
下一篇: D语言编译器DMD开源了!