gpt4 book ai didi

java - 使用 for 循环打印 1-20 的阶乘

转载 作者:行者123 更新时间:2023-12-01 07:05:22 26 4
gpt4 key购买 nike

我的程序运行得很好,但唯一的问题是数字 2 的阶乘是 2 而不是 1。它将 2 的值赋予 3,依此类推。因此,输出向前一行,20 的阶乘为 2,432,902,008,176,640,000。

P.S 这不是“家庭作业”,它只是将编程作为一种爱好。

public class Factorials {

public static void main(String[] args) {

int counter;
long factorials = 1;
// long total = 1;

System.out.printf("%4s%30s\n", "Number", "Factorials");

for (counter = 1; counter <= 20; factorials *= counter, counter++)
System.out.printf("%4d%,30d\n", counter, factorials);

}
}

输出:

Number                    Factorials

1 1
2 1
3 2
4 6
5 24
6 120
7 720
8 5,040
9 40,320
10 362,880
11 3,628,800
12 39,916,800
13 479,001,600
14 6,227,020,800
15 87,178,291,200
16 1,307,674,368,000
17 20,922,789,888,000
18 355,687,428,096,000
19 6,402,373,705,728,000
20 121,645,100,408,832,000

请帮帮我:)

最佳答案

试试这个,它应该有效:

for(counter = 1; counter <= 20; counter++){
factorials *= counter;
System.out.printf("%4d%,30d\n", counter, factorials);

}

拥有 for-loop 更“干净”(java 标准)像这样:for(x; x<=y; x++)然后在这些{}之间有其他逻辑/计算。

关于java - 使用 for 循环打印 1-20 的阶乘,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26475985/

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