Bootstrap

【中国大学MOOC】java程序设计-week2-编写一个应用程序,验证以下等式是成立的

1.题目

编写一个应用程序,验证以下等式是成立的:

在这里插入图片描述

提示:if分支语句、for循环语句与C、C++是一样的。

如果能完成上面的验证,则达到基本要求(可得到基本分数8分)。

较高要求,可根据实际情况选做(可得到附加的2分):找到更多的这样的整数:一些相续正整数的立方和正好等于另一个整数的立方。

2.题解

验证不等式是否成立,直接按照题目要求编写即可;

扩展要求:设定最大值数量为300,直接建立循环,搜索连续正整数的立方和是否可以开立方,如果可以开立方,则输出相关结果。

public class homework1 {
    public static void main(String[] args){

        // 验证两个等式
        int sum=0;
        for(int i=3; i<=5; i++){
            sum += i*i*i;
        }
        if(sum == 6*6*6)
            System.out.println("3^3+4^3+5^3==6^3");
        else
            System.out.println("3^3+4^3+5^3!=6^3");

        sum = 0;
        for(int i=6; i<=69; i++){
            sum += i*i*i;
        }
        if(sum == 180*180*180)
            System.out.println("6^3+7^3+...+69^3==180^3");
        else
            System.out.println("6^3+7^3+...+69^3!=180^3");

        // 找到更多的数
        int max_num = 300;
        int[] list = new int[max_num+1];
        for(int i=1;i<=max_num;i++)
            list[i]=i*i*i;
        sum = 0;
        for(;max_num>=2;max_num--)
        {
            for(int i=1;i<max_num;i++)
            {
                for(int k=i;k<=max_num;k++)
                {
                    sum+=list[k];
                }
                if(Math.cbrt(sum)==(int)Math.cbrt(sum))
                {
                    for(int k=i;k<max_num;k++)
                    {
                        System.out.print(k+"^3 + ");
                    }
                    System.out.print(max_num +"^3 = "+ (int)Math.cbrt(sum) +"^3");
                    System.out.println();
                    sum=0;
                }
                else
                    sum=0;
            }
        }
    }
}

;