栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

java输入任意整数n,计算n的n次方和,不允许使用Java大数处理类。大数相加

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

java输入任意整数n,计算n的n次方和,不允许使用Java大数处理类。大数相加

【标准输入让用户输入任意整数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         String strtemp="";
        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();
    }
}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/353217.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号