首页 > 其他 > 详细

大数加法

时间:2017-01-21 00:41:17      阅读:258      评论:0      收藏:0      [点我收藏+]
	public static String add(String s1, String s2)
	{
		int dx = 0;
		String temp = null;
		if (s1.length() < s2.length())
		{
			temp = s1;
			s1 = s2;
			s2 = temp;
		}
		int length = s2.length();
		int dl = s1.length() - s2.length();
		char cc[] = new char[s1.length()];
		for (int i = length - 1; i >= 0; i--)
		{
			char c1 = s1.charAt(i + dl);
			char c2 = s2.charAt(i);
			int s = c1 - ‘0‘ + c2 - ‘0‘;
			if (dx != 0)
			{
				s += dx;
			}
			cc[i + dl] = (char) ((s % 10) + ‘0‘);
			dx = s / 10;
		}
		for (int i = s1.length() - length - 1; i >= 0; i--)
		{
			if (dx != 0)
			{
				int s = s1.charAt(i) - ‘0‘ + dx;
				cc[i] = (char) ((s % 10) + ‘0‘);
				dx = s / 10;
			}
			else
			{
				cc[i] = s1.charAt(i);
			}
		}
		if (dx != 0)
		{
			return (dx + "") + new String(cc);
		}
		return new String(cc);
	}

  

大数加法

原文:http://www.cnblogs.com/shuiyonglewodezzzzz/p/6329705.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!