0

我正在尝试用java编写一个程序,显示n个数字及其指数之和的结果,而样本中的下一个数字和指数是(n-1),直到它变为0。我希望我是解释自己。一个例子:

如果我向用户询问数字 3,程序必须这样做:3^3 + 2^2 + 1^1 = 32

我需要使用循环,所以即使它更有效,我也不能使用任何类型的功能。

这是我到目前为止所拥有的:

public static void main(String[] args) 
{
    int n,i,j,s=0,exp;

    Scanner r = new Scanner (System.in);

    System.out.println("Value of n: ");
    n = r.nextInt();

    for(i=1;i<=n;i++)
    {
        s = 0;

        for(j=1;j<=i;j++)
        {
            exp = n * n;
            s = s + exp;
        }
    }

    System.out.println("Total: "+s);
}

关于如何使它工作的任何提示?我无法解决这个问题。

4

1 回答 1

2

您的 for 循环中的逻辑不正确。

以下是使其工作的示例;

外循环中的变量 i 是确定要处理哪些 int 值,例如 1, 2, 3 if n=3

内部循环是处理给定 i 的 pow 表达式,例如您提到的 1^1、2^2 和 3^3。

        for(i=1;i<=n;i++)
        {
            exp = 1;
            for(j=1;j<=i;j++)
            {
                exp *=i;
            }
           s+=exp; 
        }
于 2013-10-29T02:16:31.693 回答