日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

c语言中数组大小10000,C语言,怎么存一个很大的数,比方说10000的阶乘

發布時間:2023/12/15 编程问答 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 c语言中数组大小10000,C语言,怎么存一个很大的数,比方说10000的阶乘 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

C語言,如何存一個很大的數,比方說10000的階乘

我們使用最大的long?double?來定義,可是還是撐不下這么大的數,那么該怎么做?

long?double?sum?=?1;

int?i?=?1;

for?(i;?i?

{

sum?=?sum?*?(double)i;

}

cout<

------解決思路----------------------

采用數組來表示

------解決思路----------------------

僅供參考:#include?

#include?

#include?

using?namespace?std;

int?COMPARE(string?number1,?string?number2)?{

int?i,j;

int?length1?=?number1.size();

int?length2?=?number2.size();

if(number1.size()?==?0)?number1?=?"0";

if(number2.size()?==?0)?number2?=?"0";

j?=?0;

for(i?=?0;?i?

if(number1[i]?==?'0')?++j;

else?break;

}

number1?=?number1.substr(j);

j?=?0;

for(i?=?0;?i?

if(number2[i]?==?'0')?++j;

else?break;

}

number2?=?number2.substr(j);

length1?=?number1.size();

length2?=?number2.size();

if(length1?>?length2)?{

return?1;

}?else?if(length1?==?length2)?{

if(number1.compare(number2)?>?0)?{

return?1;

}?else?if(number1.compare(number2)?==?0)?{

return?0;

}?else?{

return?-1;

}

}?else?{

return?-1;

}

return?0;

}

string?PLUS(string?number1,string?number2)?{

int?i;

int?length1?=?number1.size();

int?length2?=?number2.size();

string?result="";

reverse(number1.begin(),?number1.end());

reverse(number2.begin(),?number2.end());

for(i?=?0;?i?

char?c?=?(char)(number1[i]?+?number2[i]?-?48);

result?=?result?+?c;

}

while(i?

result?=?result?+?number1[i];

++i;

}

while(i?

result?=?result?+?number2[i];

++i;

}

int?carry?=?0;

for(i?=?0;?i?

int?value?=?result[i]?-?48?+?carry;

result[i]?=?(char)(value?%?10?+?48);

carry?=?value?/?10;

}

if(carry?!=0?)?{

result?=?result?+?(char)(carry?+?48);

}

for(i?=?result.size()?-?1;?i?>=?0;?i--)?{

if(result[i]?!=?'0')?break;

}

result?=?result.substr(0,?i?+?1);

reverse(result.begin(),?result.end());

if(result.length()?==?0)?result?=?"0";

return?result;

}

string?MINUS(string?number1,string?number2)?{

int?i;

string?result?=?"";

int?length1?=?number1.size();

int?length2?=?number2.size();

if(COMPARE(number2,number1)?>?0)?{

return?"-"?+?MINUS(number2,?number1);

}

reverse(number1.begin(),number1.end());

reverse(number2.begin(),number2.end());

for(i?=?0;?i?

char?c?=?number1[i]?-?number2[i]?+?48;

result?=?result?+?c;

}

if(i?

for(;?i?

result?=?result?+?number1[i];

}

}

int?carry?=?0;

for(i?=?0;?i?

int?value?=?result[i]?-?48?+?carry;

if(value?

value?=?value?+?10;

carry?=?-1;

}?else?carry?=?0;

result[i]=(char)(value?+?48);

}

for(i?=?result.size()?-?1;?i?>=?0;?i--)?{

if(result[i]?!=?'0')break;

}

result?=?result.substr(0,?i+1);

reverse(result.begin(),?result.end());

if(result.length()==0)?result?=?"0";

return?result;

}

string?MULTIPLY(string?number1,?string?number2)?{

int?i,?j;

int?*iresult;

int?length1?=?number1.size();

int?length2?=?number2.size();

string?result?=?"";

reverse(number1.begin(),?number1.end());

reverse(number2.begin(),?number2.end());

iresult?=?(int*)malloc(sizeof(int)?*?(length1?+?length2?+?1));

memset(iresult,?0,?sizeof(int)?*?(length1?+?length2?+?1));

for(i?=?0;?i?

for(j?=?0;?j?

iresult[i+j]?+=?((number1[i]?-?48)?*?(number2[j]?-?48));

}

}

int?carry?=?0;

for(i?=?0;?i?

int?value?=?iresult[i]?+?carry;

iresult[i]?=?value?%?10;

carry?=?value?/?10;

}

for(i?=?length1?+?length2?-?1;?i?>=?0;?i--)?{

if(iresult[i]?!=?0)break;

}

for(;?i?>=?0;?i--)?{

result?=?result?+?(char)(iresult[i]+48);

}

free(iresult);

if(result?==?"")?result?=?"0";

return?result;

}

string?factorial(string?n)?{

string?temp?=?"1";

string?i;

for(i?=?"1";?COMPARE(i,?n)?<=?0;?i?=?PLUS(i,?"1"))?{

temp?=?MULTIPLY(temp,?i);

}

return?temp;

}

int?main(void)?{

cout?<

return?0;

}

------解決思路----------------------

弄個數組??然后針對這個數組寫幾個加減乘除的函數

------解決思路----------------------

四行代碼算1000階乘精確值

------解決思路----------------------

用數組,自己寫計算函數

總結

以上是生活随笔為你收集整理的c语言中数组大小10000,C语言,怎么存一个很大的数,比方说10000的阶乘的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 亚洲狠狠婷婷综合久久久久图片 | 欧美三级一区 | 日韩视频免费看 | 黄色a一级片 | 91精品在线看 | 91视频最新入口 | 新婚之夜玷污岳丰满少妇在线观看 | 日本久久黄色 | 激情视频激情小说 | 少妇色综合| 在线免费观看黄色网址 | 欧美黄色免费看 | 天堂在线中文在线 | 久久视频在线观看 | 国产在线观看一区二区三区 | 美女扒开尿口让男人爽 | 婷婷五月综合缴情在线视频 | 91精品国产入口在线 | 色小说在线观看 | 你懂得在线 | 久久人精品 | 中文字幕日韩专区 | 五月天激情婷婷 | 久久精品人人爽 | 涩涩视频免费在线观看 | 国产免费黄色大片 | 激情网av | 日本人添下边视频免费 | av无码久久久久久不卡网站 | 成人在线观看免费爱爱 | 去毛片| 欧美最猛黑人xxxx黑人猛交 | 天天噜夜夜噜 | 91精品国产99久久久久久红楼 | 一区二区三区四区精品视频 | 亚洲精品视频免费 | 欧美老熟妇又粗又大 | 日韩视频精品一区 | 奇米成人网 | 自拍视频在线播放 | 欧美精品韩国精品 | 日本四级电影 | 久久久精品国产sm调教 | 西西4444www大胆无码 | 视频在线中文字幕 | 好吊一区二区三区视频 | 国产我不卡 | 一区二区三区四区人妻 | 久色网 | av资源共享| 日韩中文av在线 | 久久久精品国产免费爽爽爽 | 超碰一区二区三区 | 视频在线免费观看 | 九九黄色片 | 欧美一级一级 | 女同性恋毛片 | 色综合91 | 青青草视频在线观看免费 | 国产一区二区三区在线观看 | 国产13页 | 美女一区 | 中国精品一区二区 | 国产青青 | 成人福利在线播放 | 91av在线网站 | 亚洲成人福利 | 黄色一级片免费播放 | 国内偷拍精品视频 | 国产黄色自拍视频 | 亚洲91网站 | 俄罗斯美女av | 丰满人妻妇伦又伦精品国产 | 黄色av网址在线 | 久久精品国产亚洲 | 一区二区自拍 | 国产xx在线观看 | 少妇一级片 | 国产黄色在线免费观看 | 精品国产av无码一区二区三区 | 国产一级在线播放 | 国产又黄又粗的视频 | 蜜臀久久99精品久久久 | 日韩一区电影 | 精品成人在线观看 | 日韩日b视频| 午夜视频在线观看一区二区 | 无码少妇精品一区二区免费动态 | 国产精品jizz在线观看老狼 | 综合图区亚洲 | 亚洲成人黄色网 | 久久精品1 | 一区二区视频 | 美女高潮黄又色高清视频免费 | 天堂男人网 | 99视频网| 爆乳2把你榨干哦ova在线观看 | 蜜臀av性久久久久蜜臀av麻豆 | 黄色片网站国产 |