【标准输入让用户输入任意整数n,计算11+22+…nn,要求使用本章知识,提示:结果超出了长整数long的范围,不允许使用Java大数处理类。】
package IntBigNum;
import java.util.Scanner;
public class BigNum
{
public static String Add(String a,String b)
{
String t="";
int lenthA=a.length(); //字符串a的长度
int lenthB=b.length(); //字符串b的长度
int max=(lenthA>lenthB)?lenthA:lenthB; //找出较长字符
int min=(lenthA
int i;
//补位,补长度相同
for(i=max-min;i>0;i--)
{
strtemp+="0";
}
if(max==lenthA)
b=strtemp+b;
else
a=strtemp+a;
int w=0;
for(i=max-1;i>=0;i--)
{
int tempA=Integer.parseInt(String.valueOf(a.charAt(i)));
int tempB=Integer.parseInt(String.valueOf(b.charAt(i)));
int temp;
if(tempA+tempB+w>=10&&i!=0)
{
temp=tempA+tempB+w-10;
w=1;
}
else
{
temp=tempA+tempB+w;
w=0;
}
t=String.valueOf(temp)+t;
}
return t;
}
public static void main(String[] args)
{
int n; //输入的整数n
String sum="0"; //最后的值
String temp;
int i;
long s=1;
@SuppressWarnings("resource")
Scanner input=new Scanner(System.in);
n=input.nextInt();
for(i=1;i<=n;i++)
{
//计算n的n次方
s=(long) Math.pow(i,i);
temp=String.valueOf(s); //将整数转化为字符串
sum=Add(temp,sum);
}
System.out.print(sum);
input.close();
}
}



