大数算法与组合数学算法-ACM要点
大数运算与组合数学 問題 當有一個很大的整數要運算時, 如何算? 例如: 一個一佰位數的數字. int 最大只能到 232 約十個位數的十進位數字. 最簡單的方法 先看大數加法. 就是改成手動去算加法, 而不是由電腦算. 123456789123 + 234123467890 ------------------------------------ 寫成電腦程式 方法一: 使用陣列 (array) 例如: int a[100], b[100], sum[100]; 然後 sum[i]=a[i]+b[i]+c 記住, c 是進位(carry), 這邊我們要自行處理. 那輸入呢? 輸入成字串 再把字串分解成陣列中各個元素. 需要一個parse字串的副程式. void parse(char *s, int *a){ int i,j; j=strlen(s); for(i=0;ij;i++){ a[j-1-i]=s[0]-30; } } void add(int *a, int *b, int *sum){ int i,c; c=0; for(i=0;i100;i++){ sum[i]=a[i]+b[i]+c; if(sum[i]=10){
您可能关注的文档
最近下载
- 福建省水利水电建筑概算定额(上册、下册)2021.pdf VIP
- (二模)郑州市2026年高三毕业年级第二次质量预测数学试卷(含答案).docx
- 【儿童故事】儿童故事六则 小蛋壳的故事.docx VIP
- 体外诊断试剂盒研发进展.docx VIP
- 2025届山西省临汾市高三下学期第二次模拟生物试题(解析版).docx
- 2025年供水设施管理与水质检测手册.docx VIP
- 生态保护与国家安全-环境安全与国家安全-教学课件.pptx VIP
- 《食品经营许可证》延续申请表.doc VIP
- 新课标人教版小学数学五年级下册教学用书.pdf VIP
- 2024建筑与市政工程施工现场临时用电安全技术标准.docx VIP
原创力文档

文档评论(0)