考虑到需要处理可能有数百位数的整数。让我们称它们为“超长”整数。显然,它们不能使用诸如int或long int之类的数据类型来存储。一个“超长”整数可以作为输入从用户读取,一个数字的数字,并存储在一个数组中,每一个数字的超长整数占据一个位置在数组中。这个问题涉及到两个正的“超长”整数作为用户的输入,一个数字一个数字。每个数字都由用户作为字符输入。正数“超长”整数的结尾由$符号的输入和存储表示。
在这里,您可以假设正数超长整数所占的最大位数是25位。
编写一个C程序,它能够对这些正的超长整数执行以下操作。
我已经完成了用于执行加法、减法和最大两个超长正整数的写入函数。我不能执行乘法和除法来分别得到商和余数。
发布于 2013-03-26 05:37:41
如果你不能编写自己的功能,你只需要使用GMP库,
http://gmplib.org/
使用它,你就会被分类..。
发布于 2013-03-26 06:55:29
所有表达式的结果都是非常大的数字,超出了偶数、长整数或长双的范围。您必须使用数组将这么大的数字存储在c中。您必须使用相同的逻辑,即我们用来乘两个数字,除了将数据存储到数组中的普通变量中。
下面是一些参考链接:
http://www.cquestions.com/2010/08/multiplication-of-large-numbers-in-c.html
http://www.cquestions.com/2010/08/division-of-large-numbers-in-c.html
http://www.thinbasic.com/community/showthread.php?11206-C-multiplying-big-integers
http://cboard.cprogramming.com/c-programming/114679-multiplying-huge-numbers-integer-arrays.html
https://stackoverflow.com/questions/15630033
复制相似问题