请问一下,有没有在线的大数乘法计算器。我需要计算一个非常大的数字
发布网友
发布时间:2022-04-26 23:05
我来回答
共4个回答
热心网友
时间:2022-06-19 17:41
用数字帝国计算器(网页)或者app(WolframAlpha)追答
追问谢谢。等会采纳
热心网友
时间:2022-06-19 17:42
如果以后可能还有需要的话就用手机直接下载一款计算机软件,也可以用电脑直接百度计算器,就会有在线计算器了。
热心网友
时间:2022-06-19 17:42
King Large Numbers Calculator目前最好的大数计算器,中文,绿色,免费。
请自行搜索。
热心网友
时间:2022-06-19 17:43
51555555555555555555555555556900000000000000000000000000000000000000000000000066506666666666666666666666668401
计算结果
#include <stdio.h>
typedef struct
{
int num[1000];// 数据
int len;// 长度
}MyType;
void CharToMyType(char *pCh, MyType *pMt);
MyType Multiply(MyType A, MyType B);
int main()
{
MyType A = {{0},0};// 初始化运算数 1
MyType B = {{0},0};// 初始化运算数 2
MyType C = {{0},0};// 初始化运算结果
{
char inPut[1000];
gets(inPut);
CharToMyType(inPut,&A); // 获取操作数A
gets(inPut);
CharToMyType(inPut,&B);// 获取操作数B
}
C = Multiply(A, B);
for(int i = C.len - 1; i >= 0;i--)
{
printf("%d",C.num[i]);
}
printf("\n");
return 0;
}
// 计算A与B相乘后的值并返回
MyType Multiply(MyType A, MyType B)
{
int i, j, k;
MyType C;
// 计算
for(i = 0 ;i < A.len ; i++)
{
for(j = 0; j < B.len; j++)
{
C.num[i + j] += A.num[i] * B.num[j];
}
}
// 进位处理
int carryFlag = 0;
for(k = 0 ; k < (i + j) - 1 || carryFlag != 0; k++)
{
C.num[k] += carryFlag;
carryFlag = C.num[k] / 10;
C.num[k] %= 10;
}
C.len = k;
return C;
}
// 输入字符串倒序放入数组MyType
void CharToMyType(char *pCh, MyType *pMt)
{
int i, end;
if(pCh == NULL)
return;
for(end = 0 ; pCh[end] != '\0'; end++);
for(i = 0, end--; end >= 0; i++,end--)
{
pMt->num[i] = pCh[end] - '0';
}
pMt->len = i;
}