求sum=1+111+1111+........+1....111 .
1,思路
大数相加,若直接使用int,或者long都会超出长度,因此考虑使用String存储。
2,代码
public class LargeNumAdd
{ public static void main(String[] args)
{
String sum = "0";
for (int i = 1; i <= 2009; i++)
{
String temp = getStr(i);
sum = getSum(sum, temp);
}
System.out.println("sum: " + sum);
} public static String getSum(String a, String b)
{
if (a.length() > b.length())
{
for (int i = b.length(); i < a.length(); i++)
{
b = '0' + b;
}
} else
{
for (int i = a.length(); i < b.length(); i++)
{
a = '0' + a;
}
}
char array1[] = a.toCharArray();
char array2[] = b.toCharArray();
String sum = "";
int carrayIn = 0;
for (int i = a.length() - 1; i >= 0; i--)
{
sum = getRemain(array1[i], array2[i], carrayIn) + sum;
carrayIn = getCarry(array1[i], array2[i], carrayIn);
}
return sum;
} public static String getRemain(char a, char b, int carrayIn)
{
int sum = (a - '0') + (b - '0') + carrayIn;
String rem = sum % 10 + "";
return rem;
} private static int getCarry(char a, char b, int carryIn)
{
int sum = (a - '0') + (b - '0') + carryIn;
int carry = sum / 10;
return carry;
} public static String getStr(int N)
{
String s = "";
for (int i = 0; i < N; i++)
{
s += "1";
}
return s;
}
}
求sum=1+111+1111+........+1....111 .的更多相关文章
- oracle对三个列求sum
oracle数据库对test_table表的三个列count1,count2,count3求sum的两种sql,做个记录 第一种 select sum (case when count1 is not ...
- SQLSERVER去除某一列的重复值并显示所有数据\DISTINCT去重\ISNULL()求SUM()\NOT EXISTS的使用
进入正题,准备我们的测试数据 1.我们要筛选的数据为去除 GX 列的重复项 并将所有数据展示出来,如图所示: ' 2.这种情况下我们是不可以使用DISTINCT来去重的,我们可以来尝试一下: 首先,单 ...
- Python 处理EXCEL的CSV文档分列求SUM
相对于导出EXCEL文件,PYTHON计算更为实时. import csv import sys from optparse import OptionParser def calculate_pro ...
- java篇 之 类型转化
类型转换时,如果最初的数值类型是有符号的,那么就执行符号扩展:如果它是char,那么不管将要被转换成什么类型,都执行零扩展 代码执行顺序是从上至下,从右至左 强制转换: Int a =(int)(sh ...
- noip初赛复习总纲
初赛复习总纲 目录 初赛复习总纲 计算机发展史 计算机的分类 计算机的应用 操作系统盘点 计算机的基本结构 中央处理器(**CPU**--**Central Processing Unit**) 存储 ...
- ethereum(以太坊)(六)--整型(int)
pragma solidity ^0.4.20; /* uint8 uint16 ...uint256 int8 int16 int24 ..int256 uint => uint256 int ...
- 求a + aa + aaa + aaaa + aaaaa ...的值,例如:1 + 11 + 111,2 + 22 + 222 + 2222 + 22222
#include <stdio.h> unsigned superposition(unsigned m, unsigned n); int main() { printf("1 ...
- [华为机试练习题]50.求M的N次方的最后三位
题目 描写叙述: 正整数M 的N次方有可能是一个很大的数字,我们仅仅求该数字的最后三位 例1: 比方输入5和3 ,5的3次方为125.则输出为125 例2: 比方输入2和10 2的10次方为1024 ...
- sum()over()和count()over()分析函数
创建测试表 ),sales ),dest ),dept ),revenue number); 插入测试数据 ); ); ); ); ); ); ); commit; 查看表记录 SQL> sel ...
随机推荐
- C# Ioc 接口注册实例以及注入MVC Controller
当弄一个小程序时,就忽略了使用Ioc这种手段,作为一个帅气程序员,代码规范,你懂的~,废话不多说,快速搭建一个Ioc接口实例以及直接注入到 MVC Controller 构造函数中如下: MVC in ...
- 浅谈python中的闭包函数
闭包函数初探 通常我们定义函数都是这样定义的 def foo(): pass 其实在函数式编程中,函数里面还可以嵌套函数,如下面这样 def foo(): print("hello worl ...
- rtmp推流时间戳兼容问题
一直用简单的librtmp或者其他开源推流实现方式.没有太关注细节问题.直到最近一次测试长时间推流.遇到了3字节时间戳溢出问题,即时间戳超过0xffffff,服务器断开. 复现方式:用yasea推流到 ...
- 51Nod 欢乐手速场1 C 开心的小Q[莫比乌斯函数]
开心的小Q tangjz (命题人) quailty (测试) 基准时间限制:1 秒 空间限制:131072 KB 分值: 80 如果一个数字存在一个约数是完全平方数,那么小Q就认为这个数是有趣的 ...
- BZOJ 1845: [Cqoi2005] 三角形面积并 [计算几何 扫描线]
1845: [Cqoi2005] 三角形面积并 Time Limit: 3 Sec Memory Limit: 64 MBSubmit: 1151 Solved: 313[Submit][Stat ...
- javaweb下载文件模板
import java.io.FileInputStream; import java.io.IOException; import java.io.InputStream; import javax ...
- 乞丐版servlet容器第1篇
本系列参照pkpk1234大神的BeggarServletContainer,具体请访问:https://github.com/pkpk1234/BeggarServletContainer. 一步一 ...
- vscode php跳转
最近在写一个php项目,最后选定使用vscode编辑器,然后研究了一下断点调试.格式代码.点击跳转 以下是配置步骤,记录一下 1.代码格式化及跳转 1.前提条件:安装7.0以上版本php, ...
- 网络编程基础+UDP的实现
网络地址分类(32位网络地址) A类地址:第一个字节为网络地址,其他3个字节主机地址,第一字节的最高位固定为0 从1.0.0.1------126.255.255.255 B类地址:第一字节和第二字节 ...
- 一个很好的MySQL在线学习平台
一个很好的MySQL在线学习平台 https://www.techonthenet.com/sql/