不會的遲早要補回來的!下面是c++大數操作。放這裡紀念一下,水平不高,大家別取笑~
#include #include #include #include #include using namespace std;
#define max 1000
string inttostring(int n)
//比較數字str1 和 str2 誰大,
int whobigger(string str1,string str2)
return 0;
}string add(string str1,string str2)
} //調整str1
for(;i=10)
//把數字前面的0濾掉
string result;
bool flag=0;
for(i=num1.size()-1;i>=0;i--)
if(num1.at(i)!=0||flag)
return result;
}//str1>str2的情況
string minu(string str1,string str2)
return result;
}//減法
string minus(string str1,string str2)
//把數字前面的0濾掉
string result;
bool flag=0;
for(int i=max-1;i>=0;i--)
if(res[i]!=0 || flag)
return result;
}//除法
string div(string str1,string str2)
string count0=inttostring(count);
for(int i=1;i<=dif;i++)
count0+='0';
res = add(res,count0);
} return res;
}int main()
{ while(1)
{ string str1,str2;
cout<<"input num1:";
cin>>str1;
cout<<"input num2:";
cin>>str2;
cout<<"add result="<
C 計算大資料階層
這是上大學時老師出的乙個問題,當時沒做出來。c 中,用普通的資料型別精確計算超過20的階乘應該是不可能的。下面通過陣列實現任意500以內的階乘,如果計算更大的數,也可以實現,不過時間要久一些。以下是程式 include using namespace std const int max 10000 ...
大數間的乘法計算 大數計算
前幾天,朋友碰到了乙個大數計算的問題,匆忙之下我寫了乙個出來。說實話寫的不怎麼好,有點亂,先貼出來,然後過幾天再改好,貼一下。如計算 9999999999999 1234567890123 package test public class bignumber public static doubl...
階乘計算 大數計算
輸入乙個正整數n,輸出n 的值。其中n 123 n。演算法描述 n 可能很大,而計算機能表示的整數範圍有限,需要使用高精度計算的方法。使用乙個陣列a來表示乙個大整數a,a 0 表示a的個位,a 1 表示a的十位,依次類推。將a乘以乙個整數k變為將陣列a的每乙個元素都乘以k,請注意處理相應的進製。首先...