中学课堂C++编程问题,拜托了!!!

来源:百度知道 编辑:UC知道 时间:2024/07/05 07:37:33
(1).求文档(team)中一个几万位的数字与一个近1亿位的数字相乘的运算.
(2).求一个近一万位数字的阶层.(文件名:jc)
(注:两程序皆为文件输入输出)
求正确的程序,语言尽量接近普通中学生的水平,谢谢!
求完整程序

中学生开始学这个了?

呃...中学水平不可能的

我做过百万位的乘法,需要用到快速傅里叶变换,大学的ACM程序设计竞赛仅考过一次,中学水平不可能的。
顺便说一句,如果文件里存了个一亿位的数,文件会有100M大..

第二题不可能做出了,因为一万位阶乘的结果....你可以估算一下有多少位,这个宇宙中不可能写得下

你可能是看错题了,是不是答案要模上一个数,或者是只计算最后某些位?

楼上的同志们不要再尝试那条思路了,普通的高精度算法不可能在有生之年算出答案

这是要写高精度数字。
我只说思路,具体代码你自己来完成
首先用3个指针,并未这三个指针分配足够大的空间。
如果你没学过指针呢,就声明三个很大的数组。
然后将这些数字按顺序读入。

然后按照你在纸上计算乘法的算式进行编程,比如第一个数的所有位和的二个数的每一位都乘一次,然后存贮在第三个数的相应位置,起重要考虑进位的问题。

就是一个高精度计算么,你应该是搞OI的吧,不然中学应该也不会涉及这块。
随便找本信息学奥赛的书看看就知道方法了。

把大数分段,保存在数组里,然后从最低位开始乘,自己处理进位即可。

这个有点难度。
暂时没有做出来但想到了解决思路,我觉的得用字符串的形式把文件内容读出来,然后用2个循环遍历字符数组中所有字符,将当前字符转换成整型,然后一一相乘,做个相乘算法。
不知道对你是否有帮助。

现在的中学生,学的东西比我在大学学的还深奥