相关疑难解决方法(0)

用C++表示128位数字

在C++中表示128位数的最佳方法是什么?它应该尽可能地与内置数值类型一致(即支持所有算术运算符等).

我正在考虑构建一个具有2个64位或4个32位数的类.或者可能只是创建一个128位的内存块并自己完成所有操作.

是否有一些更容易/更标准的方式,或者我自己实施它时不太可能搞砸的东西?:)

如果它可以扩展到256位,512位等等也会很好...

c++ math

55
推荐指数
6
解决办法
7万
查看次数

如何计算R中的组合和排列?

我刚开始学习概率,我正在寻找可以在linux上工作的工具.

我找到了一些组合软件包http://rss.acs.unt.edu/Rdoc/library/Combinations/html/00Index.html但是当我尝试安装它们时,该过程失败并显示以下消息:

> install.packages("Combinations")
Installing package(s) into ‘/home/maxim/R/x86_64-pc-linux-gnu-library/2.13’
(as ‘lib’ is unspecified)
Warning message:
In getDependencies(pkgs, dependencies, available, lib) :
  package ‘Combinations’ is not available (for R version 2.13.1)
Run Code Online (Sandbox Code Playgroud)

combinations r

26
推荐指数
3
解决办法
11万
查看次数

Bigint(bigbit)图书馆

我正在寻找一个c ++类/库,提供1024位和更大的整数和位操作,如: - 位移位, - 按位OR/AND, - 位置第一个零位

速度至关重要,因此必须使用一些SIMD组件来实现.

c++ biginteger

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

C++中的大数字

我试图在C++变量中放置一个大数字.号码是600851475143

我尝试了unsigned long long int但是错误地说它常量太大了.然后我尝试了一个名为BigInt的bigInt库 - > http://mattmccutchen.net/bigint/

问题是我无法编译代码,因为我收到很多关于lib的错误.

未定义的引用`BigInteger :: BigInteger(int)'< - 很多这些.

到目前为止,这是我的代码:

#include "string"
#include "iostream"       
#include "bigint/NumberlikeArray.hh"
#include "bigint/BigUnsigned.hh"
#include "bigint/BigInteger.hh"
#include "bigint/BigIntegerAlgorithms.hh"
#include "bigint/BigUnsignedInABase.hh"
#include "bigint/BigIntegerUtils.hh"
using namespace std;

int main() {

    //unsigned long int num = 13195;
    //unsigned long long int num = 600851475143;
    BigInteger num = 13195;
    int divider = 2;

    //num = 600851475143;

    while (1) {
        if ((num % divider) == 0) {
            cout << divider << '\n';
            num /= divider;
        } …
Run Code Online (Sandbox Code Playgroud)

c++ biginteger

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

所有组合用于从给定的橙子和苹果创建水果篮

假设你有A橘子和B苹果.你想要创造一篮子N水果.您可以制作的苹果和橙子组合的总数是多少?
假设A+B >= N.

例如:
我有6个橘子和6个苹果,我想创造一个总共9个水果的篮子.
所以我有4种不同的组合:

3 apples 6 oranges
4 apples 5 oranges
5 apples 4 oranges
6 apples 3 oranges
Run Code Online (Sandbox Code Playgroud)

我想创建一个简单(高效)的算法来计算这个数字.
是否有任何数学/组合方式来计算O(1)中的这个数字?我找不到一个正确的公式.

algorithm math combinations

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

为大输入返回负数的阶乘函数

我的阶乘函数似乎适用于 1 到 6 之间的数字,但不适用于比 6 大得多的数字,例如以 21 开头!结果是否定的。

我不明白为什么。这是我的功能:

factorial :: Int -> Int
factorial 0 = 1
factorial 1 = 1
factorial num = num * factorial( num - 1)
Run Code Online (Sandbox Code Playgroud)

这是我的二项式系数函数,它调用我的阶乘函数(也许问题来自这个?):

binomialCoef :: Int -> Int -> Int
binomialCoef n 1 = n
binomialCoef n k = factorial n `div` 
                        ((factorial k) * factorial (n - k))
Run Code Online (Sandbox Code Playgroud)

haskell

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

标签 统计

c++ ×3

biginteger ×2

combinations ×2

math ×2

algorithm ×1

haskell ×1

r ×1