随笔分类 -  大数字算法

uva 748 - Exponentiation
摘要:这是计算指数的,刚开始不知道该怎么做,然后查看了一些网上的代码,只要把小数点去掉后,接下来就是大数相乘了我在做的时候一下几点要注意1.小数点位数要记住2.像0.0100后面的两个0应该去掉在做的时候还wa了一次,主要是格式没对,它要求前置0和后尾0 都去掉下面给出accept的代码 1 #include 2 #include 3 using namespace std; 4 #define MAXN 300 5 struct bign{ 6 int len,s[MAXN]; 7 bign(){ 8 len=1; 9 for(int i=0;i=... 阅读全文

posted @ 2013-12-23 12:22 云在心 阅读(183) 评论(0) 推荐(0)

uva 465 - Overflow
摘要:这题自己写的太菜了,看了网上的代码,受到很大的启发,有时候大数不一定要用数组,可以用很多方式来替换,一定要多思考,固定思维就是死路。本文代码出处http://blog.csdn.net/zcube/article/details/8458888 1 #include 2 3 const int MINT = 0x7fffffff; 4 5 int main() { 6 7 char str1[1000], str2[1000], ch; 8 9 while (scanf("%s %c %s", str1, &ch, str2) != EOF) {10 11 ... 阅读全文

posted @ 2013-12-19 14:01 云在心 阅读(134) 评论(0) 推荐(0)

uva 10106 - Product
摘要:这一题是大数相乘,还是用了刘汝佳老师的方法,下面提供两个大数相乘的算法bign operator *(const bign& b){ bign c; c.len=len+b.len; for(int i=0;i#include#includeusing namespace std;#define MAXN 600class bign{public: int len,s[MAXN]; bign(){ for(int i=0;i=0;i--,j++) this->s[j]=s[i]-'0'; } ... 阅读全文

posted @ 2013-12-18 21:25 云在心 阅读(107) 评论(0) 推荐(0)

uva 424 - Integer Inquiry
摘要:这是一题大数相加,如果大数相加一定要用数组做。这里提供一段用两个数组进行相加的算法,是刘汝佳老师编写,s1,s2都是反转过的数组,比如大数为123456789,那数组从0-8的应该是 987654321string ssum(string s1,string s2){ char c[100]; int len=0; int temp=MAX(s1.size(),s2.size()); for(int i=0,g=0;g||i#includeusing namespace std;#define MAX(X,Y) ((X)<(Y))?(Y):(X)void revers... 阅读全文

posted @ 2013-12-18 20:46 云在心 阅读(173) 评论(0) 推荐(0)

导航