/**********************************************************************************
*任意精度整数运算
*例如计算:2的4000次方
*算法核心:使用数组完成大整数的乘法,每一个单元保存一位数字。
*数组乘法算法: 每一次乘法: 1.计算当前位乘2的积(tmp=N*arr[i]+high_number;);
* 2.保存积的进位(没有进位,进位则保存0)
* 3.更新数组当前位的值(积的个位数)
* 4.乘法结束后,如果积大于0,则直接记录进位,arr[i]=high_number;
*推广 0-9的4000次方,#define N 2(修改N的值即可)
*anthor: fangchang
*time: 2016/04/04 16:58
************************************************************************************/
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#define N 2
void answer3();
int main() {
int x=1;
while(x!=-1) {
printf("input x(x=-1:game over):\n");
scanf("%d",&x);
printf("this is answer3():\n");
answer3();
}
fflush(stdin);
getchar();
return 0;
}
void answer3() {
int x; //x表示幂
int i,j,tmp;
int high_number=0; //进位
prin
任意精度整数运算(计算2的4000次方)
最新推荐文章于 2023-05-16 15:30:46 发布