C语言大数的整数分解,一直没有思路,有没有大佬可以讲解一下,非常感谢

 

将14259844433335185664666562849653536301757812500

分解成2a * 3b * 5c* 7d* 11e * 13f

 

 

用大数除法来分解

  1. 将14259844433335185664666562849653536301757812500保存为数组
  2. 循环除2,结束后除3,结束后除5,以此类推。。。
  3. 除的方法:从前往后,记录商和余数,商为(a[i]+d10)/x的值,余数为(a[i]+d10)%x的值,其中a[i]表示大数第i位的数字,x表示被除数,d为上一个数除完的余数
  4. 判断结束方法:全部除完余数不为0说明已除尽