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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

大数加法和乘法

發布時間:2023/12/31 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 大数加法和乘法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
大數加法和乘法

不知道錯那里的代碼

public static String mul(String str1, String str2){int minLength = -1;int maxLength = -1;if (str1.length() > str2.length()){minLength = str2.length();maxLength = str1.length();}else{minLength = str1.length();maxLength = str2.length();String temp = str1;str1 = str2;str2 = temp;}int[] cc = new int[maxLength + minLength + 100];int maxIndex = -1;for (int i = minLength - 1; i >= 0; i--){char c2 = str2.charAt(i);int cIndex = minLength - 1 - i;int dx = 0;for (int j = maxLength - 1; j >= 0; j--){cc[cIndex] = (str1.charAt(j) - '0') * (c2 - '0') + dx+ cc[cIndex];dx = cc[cIndex] / 10;cc[cIndex] = cc[cIndex] % 10;cIndex++;}if (maxIndex < cIndex){maxIndex = cIndex;}cIndex = maxIndex;if (dx != 0){while (dx != 0){cc[cIndex] = cc[cIndex] + dx;dx = cc[cIndex] / 10;cc[cIndex] = cc[cIndex] % 10;cIndex++;}maxIndex = cIndex;}}StringBuilder sb = new StringBuilder();for (int i = maxIndex - 1; i >= 0; i--){sb.append((char) (cc[i] + '0'));}return sb.toString();}public static String add(String str1, String str2){int minLength = -1;int maxLength = -1;if (str1.length() > str2.length()){minLength = str2.length();maxLength = str1.length();}else{minLength = str1.length();maxLength = str2.length();String temp = str1;str1 = str2;str2 = temp;}int dx = 0;int dl = maxLength - minLength;char[] cc = new char[maxLength + 100];int cIndex = 0;for (int i = minLength - 1; i >= 0; i--){int s = str1.charAt(i + dl) - '0' + str2.charAt(i) - '0' + dx;dx = s / 10;s = s % 10;cc[cIndex++] = (char) (s + '0');}for (int i = maxLength - minLength - 1; i >= 0; i--){int s = str1.charAt(i) - '0' + dx;dx = s / 10;s = s % 10;cc[cIndex++] = (char) (s + '0');}if (dx != 0){cc[cIndex++] = (char) (dx + '0');}StringBuilder sb = new StringBuilder();for (int i = cIndex - 1; i >= 0; i--){sb.append(cc[i]);}return sb.toString();}public static boolean overflow(String str){int maxInt = 0x7fffffff;String max = maxInt + "";if (str.length() > max.length()){return true;}if (str.length() < max.length()){return false;}for (int i = 0; i < max.length(); i++){if (max.charAt(i) < str.charAt(i)){return true;}else if (max.charAt(i) > str.charAt(i)){return false;}}return false;}public static String trimStr(String str){StringBuilder sb = new StringBuilder();boolean startNum = false;for (int i = 0; i < str.length(); i++){char c = str.charAt(i);if (startNum){sb.append(c);continue;}if (!startNum && c != '0'){startNum = true;sb.append(c);}}if(sb.length()==0){return "0";}return sb.toString();}

?

posted on 2017-01-15 20:28 好吧,就是菜菜 閱讀(...) 評論(...) 編輯 收藏

轉載于:https://www.cnblogs.com/shuiyonglewodezzzzz/p/6287776.html

總結

以上是生活随笔為你收集整理的大数加法和乘法的全部內容,希望文章能夠幫你解決所遇到的問題。

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