gpt4 book ai didi

java - 如何在Java中打印回文的和?

转载 作者:行者123 更新时间:2023-12-02 03:54:03 30 4
gpt4 key购买 nike

我在不使用 Ant 字符串方法而仅使用数学方法打印回文总和时遇到问题。我已经弄清楚如何计算总和以及所有内容,但是当我尝试打印总和时,它给了我一个所有数字的列表。例如,对于数字 11,输出是这样的1361015212836455566

我想弄清楚如何只打印最后一个数字 66,它是数字 1 到 11 的总和,以及如何使程序打印出“1 到 11”,因为这些数字是用户输入的扫描仪方法。在我的代码下面,我已经包含了我的输出应该是什么样子。非常感谢!

import java.util.Scanner;

public class Palindrome {
public static void main (String args []) {
System.out.println("Please enter an integer > 0:");
Scanner keyboard=new Scanner(System.in);
int palindrome=keyboard.nextInt();
int palindrome1=palindrome;
int num;
int sum;

int rev=0;
if (palindrome<=0) {
System.out.println("Sorry, you must enter an integer greater than zero.");
}


while (palindrome!=0) {
rev=rev*10 + palindrome % 10;
palindrome/=10;
System.out.println("the integer "+palindrome1+ " is a palindrome");
}
if (palindrome1==rev) {
System.out.println("palindrome");
} else {
System.out.println("not");
}
num=1;
sum=0;
while (num<=palindrome1) {
sum=sum+num;
num++;
System.out.println(sum);
}
}
}

输出应如下所示:

请输入一个整数 > 0: 11整数11是回文数。1到11的数字之和是66

最佳答案

您始终可以使用描述从 0 到 n 的数字之和的常见数学规则:

enter image description here

这也更简单,因为您不必真正担心在循环中累积值。

在您的场景中,为了打印出该值,您所需要做的就是计算这个值。

减少,它是:

System.out.println((n*n) - n))/2);

或者,如果您只想打印要添加的最后一项,则仅在循环完成后打印。

关于java - 如何在Java中打印回文的和?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35642707/

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