我正在尝试用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);
}
有关如何使其发挥作用的任何提示?我无法绕过这个。
答案 0 :(得分:2)
for循环中的逻辑不正确。
以下是使其有效的示例;
外部循环中的变量i用于确定要处理的int值,例如,如果n = 3,则为1,2,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;
}