Java 编程题:计算数字串权值之和
以下是使用Java编写的解决方案:
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int n = scanner.nextInt();
scanner.close();
long sum = calculateSum(n);
System.out.println(sum);
}
private static long calculateSum(int n) {
long sum = 0;
int oddSum = 0;
int evenSum = 0;
for (int i = 1; i <= n; i++) {
if (i % 2 == 1) {
oddSum += i;
} else {
evenSum += i;
}
}
sum = oddSum * evenSum;
return sum;
}
}
在上面的代码中,我们首先从输入中获取数字串的长度n。然后,我们调用calculateSum()方法来计算权值和。在calculateSum()方法中,我们使用两个变量oddSum和evenSum来分别计算奇数位和偶数位的和。我们使用for循环来迭代1到n,根据当前迭代的索引值i来更新奇数位和偶数位的和。最后,我们将奇数位和和偶数位和相乘得到权值和,并将其返回。
最后,我们在main()方法中打印权值和。请注意,此解决方案假设输入的n大于等于1。
原文地址: https://www.cveoy.top/t/topic/qvEh 著作权归作者所有。请勿转载和采集!