这里的问题是仅使用 FOR 循环获得幂的总和 (m^0 + m^1 + m^2 + m^3.... + m^n)。意思是,不使用任何其他循环以及 Math.pow();
有可能吗?到目前为止,我只能解决获取 m^n 的问题,但不能解决其他问题。
public static void main(String[] args){
Scanner scn = new Scanner(System.in);
int total = 1;
System.out.print("Enter value of m: ");
int m = scn.nextInt();
System.out.print("Enter value of n: ");
int n = scn.nextInt();
for (int i = 1; i <= n; i++){
total * m;
}
System.out.print(total);
}
假设 m = 8; n = 4;
i 给了我所需的 '1,2,3,4',但我无法为 m ^ i 供电。
如果有人可以指导我如何完成它会很好,因为我对 Java 的了解有限,所以似乎无法继续前进。
提前致谢!
最佳答案
你可能想像这样重写它:
m^0 + m^1 + m^2 + m^3.... + m^n = 1 + m * (1 + m * (1 + m * (.... ) ) )
并且您在单个 for 循环中执行此操作。
这应该可以完成工作(请参阅评论中的解释):
public long count(long m, int pow) {
long result = 1;
for(int i = 0;i<pow; i++) {
result*=m +1;
}
return result;
}
关于java - 仅使用 For 循环的两个整数的幂之和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18658941/