相关疑难解决方法(0)

如何编写解决方案以处理大量数据?

我正在做一些Project Euler问题,而且大多数时候,计算涉及超出int,float,double等的大量数字.

首先,我知道我应该寻找更有效的计算方法,以避免出现大量问题.我听说过Bignum图书馆.

但是,对于学术界的兴趣,我想知道如何编写我自己的解决方案来解决这个问题.

任何专家都可以帮帮我吗?(我的语言是C)

c types largenumber bignum

13
推荐指数
3
解决办法
1万
查看次数

如何在内存中存储任意大的整数值?

我必须存储一个大于long数据类型的最大值的整数值.如何在内存中存储和操作此值?

如果可能的话,请通过一个例子来说明.

c integer memory-management integer-arithmetic

10
推荐指数
3
解决办法
5万
查看次数

和和乘法模

我有大的数字K,C[1],C[2],C[3]等我算算B:

b = C[1]*C[2]+C[3]*C[4]+... (mod K)
Run Code Online (Sandbox Code Playgroud)

现在我计算全部金额然后做出类似的东西

b = SUM % K.
Run Code Online (Sandbox Code Playgroud)

但是当SUM变得大于无符号长限时,这不起作用,所以我必须使用类似的东西

b = (C[1]*C[2] %K + C[3]*C[4] %K ) %K
Run Code Online (Sandbox Code Playgroud)

但这很费时间.我试过使用unsigned long long,除了unsigned long,这也很耗时.有没有更好的方法?

UPD:

  C = (unsigned long long int *) malloc(N*sizeof(unsigned long long int));
  unsigned long int i, j, l;
  C[0] = 1;
  for (i=1; i<=N; i++) {
    C[i] = 0;
    l = (unsigned long int) i/2;
    for (j=0; j<l; j++) {
      C[i] += C[j]*C[i-j-1];
      C[i] = C[i] …
Run Code Online (Sandbox Code Playgroud)

c algorithm math

6
推荐指数
3
解决办法
1067
查看次数

如何计算2到10000000的功率

如何在没有崩溃编译器的情况下将2计算到功率10000000.在c/c ++中,外部大整数的数据类型应该是什么.

c c++ data-structures

1
推荐指数
1
解决办法
6354
查看次数

int需要最大值

我刚刚开始用c编程,我知道python的一些基础知识,所以当我在python中为变量设置一个非常大的int值时说'58944651132156484651'并打印该变量,一切都会好起来,但是当我对c做相同的回答时,是247 ...将会出现很多问题,例如我无法将我的电话号码设置为变量,还有很多类似的事情,所以请帮助我解决这个问题。记住我是python用户,现在我正在学习c。

/*code in c*/
#include <stdio.h>
#include <stdlib.h>

int main()
{
    int num = 456465465456456465465456;
    printf("%d \n", num);
    return 0;
}


#code in python
num = 54454564564848431284132116483211
print(num)
#that's better than the c's big print :(
Run Code Online (Sandbox Code Playgroud)

c python int

-3
推荐指数
1
解决办法
72
查看次数