java - 仅使用 For 循环的两个整数的幂之和

标签 java for-loop

这里的问题是仅使用 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/

相关文章:

java - Web 服务 (JAX-WS) 和继承

java - 如何调用操作系统功能将文件复制到文件夹?

java - 在 hadoop 中将 String 对象转换为 TEXT 对象

java - 如何读取 Amazon S3 中的文件内容

javascript - push() 一个二维数组

python - 使用多个 if 条件时如何克服 ValueError?

java - 应用 SRP 和 OCP

r - cumsum 与 r 中标记列的重置?

c++ - 连续 for 循环不会终止 C++

java - 我如何才能使 if 语句仅在它适用于所有我在循环中时才为真?