Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >在C++中计算和绘制大整数的算术函数?

在C++中计算和绘制大整数的算术函数?
EN

Stack Overflow用户
提问于 2011-02-24 00:58:16
回答 1查看 655关注 0票数 0

我如何编写C++代码,以及我可以使用哪个库来计算和plot大整数的除数和或一些类似的算术函数,例如大于10^100 000的整数。

例如,我用Mathematica编写的代码:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
g[n_] := Product[Prime[i], {i, 1, PrimePi[n]}];


k[999990]=g[237179]*g[661]*267064515689275851355624017992790*223092870*30030*44100*30*1296*512;

k[999991]=g[237173]*g[661]*23768741896345550770650537601358310*200560490130*30030*44100*30*7776*256;

k[999992]=g[237179]*g[661]*3217644767340672907899084554130*6469693230*30030*44100*30*7776*256;

k[999993]=g[237173]*g[673]*267064515689275851355624017992790*6469693230*30030*44100*900*1296*256;

k[999994]=g[237163]*g[677]*23768741896345550770650537601358310*200560490130*30030*44100*30*7776*256;

k[999995]=g[237179]*g[659]*23768741896345550770650537601358310*6469693230*30030*44100*30*1296*256;

ds[n_] := DivisorSigma[1, n];  %sum of divisors

f1[n_] := EulerPhi[n];         %number of coprimes less than n

d[n_] := DivisorSigma[0, n];   %number of divisors 

f[n_] := DivisorSigma[1, n]/(n*Log[n]]);

sp[n_] := Sum[1/Prime[i], {i, 1, n}];

我使用Mathematica 8来计算和绘制它们,但是需要很长的时间,比如一天或更长的时间。在C++中是否有任何代码可以非常快地计算和计算大数的除数和和。

我使用windows 7 64位。我下载了Dev C++、代码块和MicrosoftVisualC++ 2008速成版。我问了一个人,他告诉我使用GMP( GNU多重精确算术库)。但我也不知道怎么用它!

实际上,我需要像下面这样的情节(线连接点),而不是像sin或cos这样的平滑图。

样本图类型

谢谢

EN

回答 1

Stack Overflow用户

发布于 2011-02-24 01:02:16

使用GMP库http://gmplib.org/进行这类繁重的计算。它使用大int来存储如此大的值。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5102405

复制
相关文章
大整数相加和大整数相乘
大数问题是指操作数超过了计算机常用数据类型的存储范围,常常是用字符串来模仿整数相加和相乘运算来实现的,在模拟的过程中要注意考虑进位和边界条件。 1、大整数相加 先看一下加法的计算过程,如456+56789    456 56789 --------- 57245      计算过程是从低位往高位开始计算,计算过程要加上进位,如,计算到5+8的时候要加上前面的进位1,得到14,然后14对10取余作为对应结果的第2位,进位为14对10取正,这样一直计算,直到有一个字符串结束,然后考虑进位和没计算完的另一个字符串
用户1215536
2018/02/05
2.1K1
c++解决大整数乘法
输出要求:输出只一行,即相乘后的结果。结果里不能有多余的前导0,即如果结果是342,那么不能输出0342。
全栈程序员站长
2022/09/05
7700
c++解决大整数乘法
整数、浮点数在计算机中的存储
  计算机要处理的信息是多种多样的,如数字、文字、符号、图形、音频、视频等,这些信息在人们的眼里是不同的。但对于计算机来说,它们在内存中都是一样的,都是以二进制的形式来表示。要想学习编程,就必须了解二进制,它是计算机处理数据的基础。
mukekeheart
2019/09/29
1.8K0
整数、浮点数在计算机中的存储
C++和Java中交换两个整数的方法
在C和C++中交换两个整数有多种方式,我想到的常用方法有以下4种: 1、使用引用传参 2、使用指针传参 3、利用位异或运算符^的特性,并结合引用传参 4、利用加减减运算符,并结合引用传参 当然在C/C++以及Java中直接使用int作为形参进行值传递是无法交换两个整数的,相关的C++测试代码如下:
ccf19881030
2020/02/14
1.6K0
Flash在DirectX中的绘制
这里使用的是之前我说过的OLE控件在Direct3D中的渲染方法, 自己不进行swf的解析, 这不现实. 前提条件: COM编程, OLE编程, DirectX编程, ActionScript/Flash(可选). 创建一个ShockwaveFlashObjects::IShockwaveFlash的对象 实现一个IOleClientSite来做为IShockwaveFlash的容器 绘制 通过OleDraw来把GDI的像素数据绘制到DC上(IShockwaveFlash是一个IViewObjec
逍遥剑客
2018/05/23
1.8K0
static在C和C++中的用法和区别
http://blog.csdn.net/skyereeee/article/details/8000512
bear_fish
2018/09/20
2.7K0
Python模拟大整数乘法的小学竖式计算过程
让我们先看个图回顾一下小学学过的计算整数乘法的竖式计算过程 然后再来看如何使用Python来模拟上面的过程,虽然在Python中计算任意大的数字乘法都没有问题,但下面的代码作为一个算法的理解还是不错的
Python小屋屋主
2018/04/16
1.8K0
Python模拟大整数乘法的小学竖式计算过程
大整数乘法
大整数乘法 <?php /** * 大整数乘法 */ //数字1 $n1 = "5624672436482632613453245"; //数字2 $n2 = "35324645675468465
guanguans
2018/05/09
5680
大整数相加
#include "stdafx.h" #include <iostream> #include <vector> #include <string> #include <algorithm> using namespace std; int _tmain(int argc, _TCHAR* argv[]) { string sa,sb,sc; vector<int>v; int i,a,b,sum,flag; while(cin>>sa>>sb) {
用户1161731
2018/01/11
8970
大整数乘法的详解
由于编程语言提供的基本数值数据类型表示的数值范围有限,不能满足较大规模的高精度数值计算,因此需要利用其他方法实现高精度数值的计算,于是产生了大数运算。尤其是乘法运算,下面就是大整数的乘法的过程(加 减法都一样的原理)。
全栈程序员站长
2022/09/05
1.4K0
大整数乘法的详解
C++ 取出字符串中的所有整数
将其中连续的数字作为一个整数,依次存放到一个数组a中。统计总共有多少个整数,并输出这些数。
雪碧君
2023/02/15
1.4K0
在 C++ 中命名 Mangling 和 extern “C”
theme: channing-cyan highlight: a11y-dark
鲸落c
2022/11/14
1.2K0
13:大整数的因子
13:大整数的因子 查看 提交 统计 提问 总时间限制: 1000ms 内存限制: 65536kB描述 已知正整数k满足2<=k<=9,现给出长度最大为30位的十进制非负整数c,求所有能整除c的k。 输入一个非负整数c,c的位数<=30。输出若存在满足 c%k == 0 的k,从小到大输出所有这样的k,相邻两个数之间用单个空格隔开;若没有这样的k,则输出"none"。样例输入 30 样例输出 2 3 5 6 1 #include<iostream> 2 #include<cstdio>
attack
2018/04/12
9140
大整数相乘
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
喜欢ctrl的cxk
2019/11/08
6520
整数的分类处理 C++
输入首先在第一行给出一个正整数 N,随后一行给出 N 个正整数。所有数字都不超过 100,同行数字以空格分隔。
叶茂林
2023/07/30
2270
大整数乘法
                                                                                     大整数乘法                                                                                                                                                           分析算法计算复杂性时,
用户1154259
2018/01/17
7480
Java 中的为什么SIZE仅为整数和长整数@Native?
我了解注释的用法。 指示可以引用定义常量值的字段 来自本机代码。注释可被以下工具用作提示: 生成本机头文件以确定头文件是否 必需的,如果是,它应该包含什么声明。 然而,在阅读Java源代码时,我注意到在类@Native和Integer中,Long常量是SIZE而不是浮点、字节、双、短和字符。 请注意,大小常量表示用于表示实际值的位数。
JavaEdge
2020/05/27
8420
【Java AWT 图形界面编程】在 Canvas 画布中绘制箭头图形 ( 数据准备 | 几个关键的计算公式 | 绘制箭头直线和尾翼 )
为箭头指定一个长度 , 该长度的末尾是 箭头终点 , 在直线上确定箭头终点 , 该终点延伸出两个尾翼 , 尾翼也指定一个长度 ;
韩曙亮
2023/04/01
1.6K0
【Java AWT 图形界面编程】在 Canvas 画布中绘制箭头图形 ( 数据准备 | 几个关键的计算公式 | 绘制箭头直线和尾翼 )
大整数相乘java_大整数乘法—java实现
https://blog.csdn.net/oh_maxy/article/details/10903929
全栈程序员站长
2022/09/05
1.1K0
C++ 中的#,##,和"
查看 PE 文件的常量字符串段,发现经过编译器优化后只存在一个Hello,World!串。
mzlogin
2020/04/16
8230
C++ 中的#,##,和"

相似问题

在Mathematica中更快地计算大整数的算术函数?

35

在c++中处理大整数

31

c++中的大整数

40

c++中的大整数

30

PHP计算大整数计算

21
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文