当前位置: 首页 > news >正文

网站 自助建站/产品推广营销

网站 自助建站,产品推广营销,网站网站建设设计公司,如何做网站的维护和推广题目描述: 请设计一个算法完成两个超长正整数的加法。 输入 输入两个字符串数字 输出 输出相加后的结果,string型 样例输入 99999999999999999999999999999999999999999999999999 1 样例输出 100000000000000000000000000000000000000000000000000 思路&…

题目描述:

  请设计一个算法完成两个超长正整数的加法。

输入

  输入两个字符串数字

输出

  输出相加后的结果,string型

样例输入

  99999999999999999999999999999999999999999999999999 1

样例输出

  100000000000000000000000000000000000000000000000000

 

思路:

  在Java中,这样的大数运算可以直接用BigInteger类中的方法来进行运算和处理,那样本题没有任何意义了

  因此在本方法中,不直接采用该类中的方法进行运算,直接在字符串中进行逐位运算的方法来得到结果

 1 import java.util.Scanner;
 2 
 3 /**
 4  * 请设计一个算法完成两个超长正整数的加法。
 5 输入
 6   输入两个字符串数字
 7 输出
 8   输出相加后的结果,string型
 9 样例输入
10   99999999999999999999999999999999999999999999999999 1
11 样例输出
12   100000000000000000000000000000000000000000000000000
13  *
14  */
15 public class BigDataAdd {
16 
17     public static void main(String[] args) {
18         //输入,读取两个字符串
19         Scanner cin = new Scanner(System.in) ;    
20         String num1 = cin.next() ;
21         String num2 = cin.next() ;
22         cin.close() ;
23                 
24         System.out.println(addBigdata(num1,num2));
25 
26     }
27 
28     /**
29      * 该方法完成运算,返回字符串结果
30      * @param num1
31      * @param num2
32      * @return
33      */
34     private static String addBigdata(String num1, String num2) {
35         int last = 0 ;
36         //用StringBuilder来添加运算结果
37         StringBuilder sb = new StringBuilder() ;
38         int len1 = num1.length() ;
39         int len2 = num2.length() ;
40         int now1 ;  //保存字符串num1中当前运算的 位 的值
41         int now2 ;
42         int res ;  //保存当前位的运算结果
43         for(int i = len1-1, j = len2-1 ; i >= 0 || j >= 0; i--,j--){
44             //获取当前num1的当前运算位的值,
45                         //当最高位超过本串的长度时,设为0
46             if( i >= 0){
47                 now1 = num1.charAt(i) - '0' ;
48             }else{
49                 now1 = 0 ;
50             }
51             //获取当前num2的当前运算位的值,当最高位超过本串的长度时,设为0
52             if( j >= 0){
53                 now2 = num2.charAt(j) - '0' ;
54             }else{
55                 now2 = 0 ;
56             }
57             //计算结果,两个当前位以及进位值相加
58             res = now1 + now2 + last ;
59             //当当前位的计算结果大于等于10时需要进位,
60                         //置进位标志位1,保存的计算结果则取个位的值
61             if(res >= 10){
62                 last = 1 ;
63                 res = res - 10 ;                
64             }
65             sb.append(res) ;
66             
67             res = 0 ;            
68         }
69         //最高位运算结束后,若有进位,则应保存结果
70         if(last != 0){            
71             sb.append(last) ;
72         }
73         //上面的结果是从个位一次向高位保存的,
74                // 所以正在的结果需要反转一下
75         return sb.reverse().toString() ;        
76     }
77 }
Code

 

转载于:https://www.cnblogs.com/mukekeheart/p/5598632.html

http://www.lbrq.cn/news/1235575.html

相关文章:

  • 制作网站软件下载/2022社会热点事件及看法
  • 上海网站开发制/行业关键词一览表
  • 建设银行纪检监察网站首页/企业qq怎么申请
  • 做淘客需要用的网站/网站建设小程序开发
  • 做封面的地图网站/域名查询阿里云
  • 不良网站进入窗口/西安百度推广开户运营
  • wordpress实现论坛功能/哪里可以学seo课程
  • 做网站的重要性/关键词挖掘工具免费
  • 阿里云网站建设方案书填写/微营销平台
  • 营销型网站的基础建设/百度sem认证
  • 微官网 手机网站/谷歌搜索入口 镜像
  • 装修网站源码/搜索关键词软件
  • 东莞网站建设硅胶/福建百度推广开户
  • 可以接项目做的网站/seo刷排名软件
  • 网站做链接操作步骤/semir是什么品牌
  • 网站建设规划文案/最近三天的国内新闻
  • 做win精简系统的网站/网推项目
  • 做性的网站/首页关键词排名代发
  • 自己做的手工在哪个网站卖会更好/宁德市疫情最新消息
  • 网页设计师介绍/seo整体优化步骤怎么写
  • 企业网企业网站制作/网站建设规划要点详解
  • 企业网站建设和维护/河南制作网站
  • 桂林网红餐厅/移动网站优化排名
  • 有人做几个蝎子养殖门户网站/seo百度百科
  • 织梦做淘宝客网站视频教程/百度站长之家工具
  • 做网站简单/3分钟搞定网站seo优化外链建设
  • 网站注册页面代码/百度电脑版下载安装
  • 建设银行新乡分行城南支行网站/十大接单推广app平台
  • 世界三大设计奖/seo查询优化
  • 水务局政务网站建设工作总结/推广方案策略怎么写
  • 【2025/08/03】GitHub 今日热门项目
  • 接口测试用例的编写
  • Hertzbeat如何配置redis?保存在redis的数据是可读数据
  • Azure DevOps 中的代理
  • 系统性学习数据结构-第一讲-算法复杂度
  • MFC 实现托盘图标菜单图标功能