gpt4 book ai didi

java - 如果输入一个数字,同时将每个数字加上 n 次幂,对应于下面给出的公式,如何对数字进行求和?

转载 作者:行者123 更新时间:2023-12-01 16:32:32 28 4
gpt4 key购买 nike

我很难找到解决这个问题的方法。我正在尝试用Java开发一个程序,该程序将一个数字作为输入并打印每个数字的幂总和,使得第n位数字的幂是第(n-1)位数字。然而,对于第一位数字,功率应该是最后一位数字的功率。例如,我们的输入为 123,则模式应为 1^3 + 2^1 + 3^2。这一直让我感到困惑,我很感激任何人的想法。

import java.util.Scanner;

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

int input;
Scanner scanner = new Scanner(System.in);
input = scanner.nextInt();
System.out.println(logic(input));
}

public static int logic(int input) {
int sum = 0;
while (input != 0) {
sum = sum + input % 10;
input = input / 10;
}
return sum
}
}

这就是我到目前为止所得到的一切。

公式为:

如果输入数字是 123 那么最终结果应该是以下总和:

1 ^ 3 + 2 ^ 1 + 3 ^ 2

最佳答案

为什么不能创建一个包含各个数字的数组,然后对该数组执行 for 循环?

类似于以下内容:

int i =0;
while(n>0){
arr[i] = n%10;
n = n / 10;
i++;
}

现在在这种情况下,arr[0]实际上是个位数字,arr[1]将是十位数字,依此类推。

那么你需要这样做:

int sum = 0;
for(int i=0; i<arr.length-2; i++){
sum = sum + math.pow(arr[i], arr[i+1]);
}
// and finally
sum = sum + math.pow(arr[arr.length-1], arr[0]);

注意最后一个求和 block ,它将从左到右的数字中的第一位数字提高到从右的数字中的最后一位数字的幂。

PS:我刚刚编写了伪代码类型格式,您可能需要修复语法。

关于java - 如果输入一个数字,同时将每个数字加上 n 次幂,对应于下面给出的公式,如何对数字进行求和?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62017507/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com