对于大数算术问题,最好使用数组,而不是使用 STL

发布于 科技 2024-06-16
14个回答
  1. 匿名用户2024-01-29

    最多可以安装 16 位计算机。

    例如,C++ 的 long long 可以容纳 -(2 63-1) 到 (2 63-1) 范围内的 20 位整数。

    这太简单了。

    当然,高精度可以作为最后的手段。

    加法。 #include

    using namespace std;

    int a[101]=,b[101]=,i;

    void getin(int a)

    string s;

    cin>>s;

    a[0]=;

    for(i=1;i<=a[0];i++)

    a[i]=s[a[0]-i]-'0';

    return;

    void print(int a)

    if(a[0]==0),b[101]=,c[201]=,i,j;

    void getin(int a)

    string s;

    cin>>s;

    a[0]=;

    for(i=1;i<=a[0];i++)

    a[i]=s[a[0]-i]-'0';

    return;

    void print(int c)

    if(c[0]==0){cout<<0<0;i--)cout<0&&c[c[0]]==0)c[0]--

    int main()

    getin(a);

    getin(b);

    chenggao(a,b,c);

    print(c);

    return 0;

  2. 匿名用户2024-01-28

    大数的乘法: 参数: *x 表示第一个大数,位数不限,size1 表示第一个大数的长度,*y 表示第二个大数,size2 表示长度。

    调用方法:(用小数测试,证明输出正确,大数肯定不会错。 )

    int i = ;代表 25

    int j = ;代表 25

    multy(i, 2, j, 2);程序输出 0 6 2 5

    void multi(int *x, int size1, int *y, int size2){

    int size = size1 + size2;

    int *result = new int[size];

    memset(result, 0, sizeof(int) *size);

    for(int i=0; i= 0){

    result[i+1] += result[i]/10;

    result[i] %= 10;

    for( i=size-1; i>=0; i--)

    cout “没有做符号位处理...... 但是,将符号位相乘应该很容易。

    这是之前写的一段,直接粘贴。

    大数的相加比乘法更简单。 我懒得自己写,LZ看到应该有想法吧?

  3. 匿名用户2024-01-27

    如果在 300 位以内不是很大,则可以使用基于笔的算术算法。 使用数组来存储大量数字。

  4. 匿名用户2024-01-26

    假设位 A 100 和位 B 分别存储在数组 m 和 n 中。 (当位数不同时,小数用零填充)。

    1.添加时,从低位添加和携带。

    2、减法时,重高开始比较大小,然后从低位开始减去借用3,乘法时,低位乘以位进行承载。

    4、除法时,用模运算求整数商,小数部分减半减半,也可以先把直点的方法换成二进制,再用补码运算。

  5. 匿名用户2024-01-25

    Fortran 是科学计算的最佳语言。 专为科学计算而设计。 Fortran 90 的内置操作数组命令允许您执行需要使用其他语言进行多次迭代的任务。

    Fortran + IMSL 数学库 + Unix 服务器,可实现最高效率和最快的计算。

    你说它经常涉及到科学计算、工程计算、数理统计、线性代数、高等数学等等,那么fortran最适合你,买一个清华算法程序或者视觉fortran常用的数值计算集,估计你需要的已经包括进去了。 这两本书在西单出售。

    现在世界上最好的计算机上正在运行什么程序? 这是日本地球实验室计划,由Fortran编写。

    Visual Basic Visual C 就是所谓的语言,它纯粹是学习一个软件。

    C++设计系统的程序不错,但数学计算不如Fortran。 我校的BBS有个好人,专门测试了fortran的速度,c++,c计算,无一例外fortran是最快的,效率最高的,也是最短的。

    SQL:我认为它不适合科学计算。

    VFP 已经死了,它本来就不应该被计算出来。

    至于有些人对MATLAB的评价,这是一家公司的产品,这令人困惑。 我真的看不出有什么值得从无法编译的软件中学习的东西(事实上,解释)。

    我会经常去百度的Fortran,如果我有问题,我会继续讨论。

  6. 匿名用户2024-01-24

    你有多大? 虚拟内存有多大? 是免费分配地址吗?

  7. 匿名用户2024-01-23

    表示数组中的大数意味着数组的每个成员仅表示大数中的一个人。

    例如,数组 int a[100] 表示:123456789a[0] 为符号位,值为 1 为正数,值 -1 为负数(该值可自行定义) a[1]=1;

    a[2]=2;

    a[3]=3;~~a[9]=9;

    最后,定义一个结束位 a[10]=-999; (-999 是结束的标志,可以自己定义)。

    如果要对大数进行操作,则需要重写四个操作规则。

    重写加法和减法更简单,而乘法和除法更复杂,需要花费大量时间进行设计。

    一般来说,存储使用字符串数组,例如 char a[100],在操作过程中将其转换为 int a[100] 的数字数组。 100 是数组的长度,大数的长度必须在 100-2 的范围内。

    以便能够正确地表示它。 数组的长度由您自己定义。

  8. 匿名用户2024-01-22

    你想要一个大数字模板吗?

    +, ,, 的任意精度整数可以实现

    加法的原理是每 6 变成 1,数组中的每个值存储一个五位数的整数。

  9. 匿名用户2024-01-21

    include define maxn 1000000 int array maxn int main() 就是这样。 希望能领养!

  10. 匿名用户2024-01-20

    数组的解决方案如下:

    #include

    int main(void)

    printf("最大数量为:%f,最小数量为:%f",fmax,fmin);

    不带数组的解决方案如下:

    #include

    int main(void)

    printf("最大数量为:%f,最小数量为:%f",fmax,fmin);

    注意标题,它没有说“整数”,所以需要使用浮点型,可以输入小数。

  11. 匿名用户2024-01-19

    这是一个可用于添加大整数的程序:

    #include

    #include

    #include

    void main()

    r=d+s;

    if(*(p+1)+*q+1)-'0'>'9')*r+=1;

    if(p>=str1)

    if(q>=str2)

    while(*r=='0')

    r++;printf("结果是:");

    while(*r!='\0')

    printf("%c",*(r++)

    printf("");}

  12. 匿名用户2024-01-18

    可以用数组组成。

    我们都知道,int、float、double 的精度和可用范围都是有限的,对于大数的减法,总会有溢出。

    所以对于大数的减法,人们认为你可以用数组来做。 例如,定义一个数组 a[100]; a[1] 用于保存个位数,a[2] 用于保存数十位数字,依此类推。

    如果 a[i] 的值大于或等于 10,则设 a[i+1]++a[i]-10 执行。

    打印时,只需使用 for 语句,然后调整输出格式即可。

  13. 匿名用户2024-01-17

    请提供您的电子邮件地址。 我有 C 语言对大整数进行运算所需的文档。

  14. 匿名用户2024-01-16

    是的,您可以查看 long 和 int 类型表示的范围,而超出范围的数字根本无法表示。

相关回答
14个回答2024-06-16

这是一个方法声明,公共的、静态的,并且没有名为 enumconnections 的方法的返回值,并且传入的参数是 **。

5个回答2024-06-16

总结。 首先,通过将个人遗传数据与健康对照进行比较来发现差异(通常是突变); 其次,根据现有知识解释这些突变。 现有的知识可以通过多种方式获得,如分子实验验证、文献阅读、文本挖掘、公共数据库、**等。 >>>More

22个回答2024-06-16

int count=0;

count++;自加法的结果被赋值给 count,所以它是 count 的值变化,你输出 count++ >>>More

10个回答2024-06-16

你怎么知道里面的问题?

1.首先,您必须有一个帐户: >>>More